# 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