私がやりたいことは、大まかに次のとおりです。
module Foo
def self.included base
base.extend ClassMethods
end
end
module Bar
extend Foo
module ClassMethods
def hi
return "hello!"
end
end
end
class Baz
include Bar
end
Baz.hi #=> "hello!'
しかし、代わりに私は得る
NoMethodError: undefined method `hi' for Baz:Class
明確でない場合、より一般的に私がしようとしているのは、included
コールバックのロジックを含む 1 つのモジュールを作成し、他のいくつかのモジュールを拡張してincluded
、拡張モジュールからのコールバックを使用することです (ただし、たとえば、Bar
extends 、できればfor のクロージャで参照しFoo
たい)。self
Bar
included
おそらくそれは少し混乱しています。