In Ruby, I understand the basic idea of extend
. However, what's happening in this segment of code? Specifically, what does extend
do? Is it just a convenient way of making the instance methods into class methods? Why would you do it this way rather than specifying class methods from the beginning?
module Rake
include Test::Unit::Assertions
def run_tests # etc.
end
# what does the next line do?
extend self
end