# File lib/tapkit/control/keyvaluecoding.rb, line 79 def retrieve_value_for_keypath( keypath ) paths = keypath.split '.' object = self paths.each do |path| if object.respond_to? :retrieve_value then object = object.retrieve_value path elsif object.respond_to? path then object = object.__send__ path elsif directly? object then object = object.instance_eval "@#{path}" else _raise_error(object, path) end end object end