我必须以优雅和孤立的方式将一些行为包裹在外部宝石周围。鉴于下面的抽象,一切都运行顺利,但从来没有打印'bar'。有人能告诉我为什么吗?
我的代码:
module RefineGem
refine GemMainModule::GemClass do
def self.foo
p 'bar'
super
end
end
end
module Test
using RefineGem
def test
GemMainModule::GemClass.foo
end
end
class Testing
include Test
end
Testing.new.test
宝石代码:
module GemMainModule
class Base
include GemMainModule::Fooable
end
class GemClass < Base
end
end
module GemMainModule
module Fooable
extend ActiveSupport::Concern
class_methods do
def foo
p 'zoo'
end
end
end
end