Based on uncutstone sleuthing, define_method () is not inherited by the main singleton class:
class <<self
p private_instance_methods(false)
end
--output:--
[:public, :private, :include, :using, :define_method]
... , , . , , DEFS , , :
module A
def greet
puts 'hi'
end
end
class Dog
include A
end
p Dog.instance_methods(false)
p Dog.instance_methods.grep(/^g/)
--output:--
[]
[:greet]
, greet() . define_method() , define_method() . , , define_method() . , , ruby- :
class <<self
def define_method(x, *y)
end
end