class Object
Public Instance Methods
method_missing(method, *_args)
click to toggle source
# File lib/super_recursive_open_struct.rb, line 46 def method_missing(method, *_args) raise NoMethodError, "undefined method \`#{method}' for #{self.inspect}" end
patch_object(object)
click to toggle source
# File lib/super_recursive_open_struct.rb, line 38 def patch_object(object) return unless object.respond_to?(:each_pair) object.each_pair do |key, _| child = object.public_send(key) if child.respond_to?(:each_pair) child.instance_eval do def method_missing(method, *_args) raise NoMethodError, "undefined method \`#{method}' for #{self.inspect}" end end patch_object(child) end end end