无法从父 class 的 #inherited 方法 (Ruby) 访问子 class 中定义的方法

Unable to access method defined in child class from parent class's #inherited method (Ruby)

我想做什么:

class GrandFoo
    def self.inherited(subclass)
        puts subclass.new.respond_to? :bar  #false
    end
end

class Foo < GrandFoo
    def bar
        puts 'bar'
    end
end

# but
puts Foo.new.respond_to? :bar  #true

我找不到有关此案例的信息,实际上我不确定应该查找什么。 目标是 "require" 在特定目录中找到的文件列表,每个文件都包含一个具有相同 'bar' 方法的子类。

The documentation for Class#inherited 说:

Callback invoked whenever a subclass of the current class is created.

它说已创建,而不是已创建。据推测,这意味着无法保证 "complete" class 是怎样的,只有 的创建过程中。