# File lib/mustache/context.rb, line 123 def find(obj, key, default = nil) hash = obj.respond_to?(:has_key?) if hash && obj.has_key?(key) obj[key] elsif hash && obj.has_key?(key.to_s) obj[key.to_s] elsif !hash && obj.respond_to?(key) meth = obj.method(key) rescue proc { obj.send(key) } if meth.arity == 1 meth.to_proc else meth[] end else default end end