В Ruby я понимаю основную идею extend
. Однако что происходит в этом сегменте кода? В частности, что делает extend
? Это просто удобный способ сделать методы экземпляра в методах класса? Зачем вам это делать, а не определять методы класса с самого начала?
module Rake
include Test::Unit::Assertions
def run_tests # etc.
end
# what does the next line do?
extend self
end