Это большой коммит. Но я хочу, чтобы вы сосредоточились на этом блоке изменений. http://github.com/rails/rails/commit/d916c62cfc7c59ab6411407a05b946d3dd7535e9#L2L1304
Даже без понимания полного контекста кода я не могу придумать сценарий, в котором я бы использовал
include Module.new {
class_eval <<-RUBY
def foo
puts 'foo'
end
RUBY
}
Тогда конечный результат заключается в том, что в корневом контексте (self непосредственно перед include Module.new
) был добавлен метод с именем foo
.
Если я возьму код Module.new
и оставлю только class_eval
, в этом случае у меня также будет метод, называемый foo
в self
.
Что мне не хватает.