Rails 3 Encadeamento do método ActiveRecord, sob o capô

Digamos que você crie uma consulta envolvendo vários métodos de encadeamento, como

Post.where('id > 10').limit(20).order('id asc').except(:order)

Estou imaginando o que acontece nos bastidores? Presumivelmente, cada parte da cadeia ajudará a construir um SQL SELECT e, quando a cadeia estiver 'completa', a instrução será executada, os modelos serão criados etc. Como 'saberá' onde está o fim da cadeia? Cada método retorna um ActiveRecord :: Relation que cria um fragmento SQL?

questionAnswers(2)

yourAnswerToTheQuestion