rubyでよく使うincludeを用いたクラス拡張のイディオムについてのメモというかサンプル。
サンプルはTextMateのbundleを参考にしました。
module IncExt
module ClassMethods
def foo
puts "foo"
end
end
module InstanceMethods
def bar
puts "bar"
end
end
def self.included(receiver)
receiver.extend ClassMethods
receiver.send :include, InstanceMethods
end
end
class Buz
include IncExt
end
Buz.foo # => "foo"
Buz.new.bar # => "bar"