Я пишу простой DSL в рубине. Несколько недель назад я наткнулся на сообщение в блоге, в котором показано, как преобразовать код, например:
some_method argument do |book|
book.some_method_on_book
book.some_other_method_on_book :with => argument
end
в более чистый код:
some_method argument do
some_method_on_book
some_other_method_on_book :with => argument
end
Я не могу вспомнить, как это сделать, и я не уверен в недостатках, но более чистый синтаксис заманчив. Кто-нибудь что-нибудь знает об этой трансформации?