Method: Entity#up
- Defined in:
- lib/ObjectModel/Entity.rb
#up(method_name, *p, &b) ⇒ Object
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
# File 'lib/ObjectModel/Entity.rb', line 109 def up method_name, *p, &b result = nil e = search_up do |e| result = e.respond_to method_name, *p result != nil end return result # if respond_to? method_name # value = send(method_name, *p, &b) # if value != nil # return value # elsif parent_get and parent_get.respond_to? method_name # parent_get.up method_name, *p, &b # else # return value # end # else # return parent_get.up method_name, *p, &b if parent_get # return nil #raise NoMethodError, "Undefined method '#{method_name}' for '#{self.class.name}' and for it's parents!", caller # end end |