class GmHashWrapper::StrictHashWrapper

Public Instance Methods

key?(key) click to toggle source
# File lib/gm_hash_wrapper/strict_hash_wrapper.rb, line 3
def key?(key)
  @body.has_key?(key)
end
method_missing(meth, *args, &block) click to toggle source
# File lib/gm_hash_wrapper/strict_hash_wrapper.rb, line 7
def method_missing meth, *args, &block
  if @body.has_key?(meth)
    if @body[meth].kind_of?(Hash)
      return StrictHashWrapper.new(@body[meth])
    elsif @body[meth].kind_of?(Array)
      return @body[meth].map do |x|
        if x.kind_of?(Hash)
          StrictHashWrapper.new(x)
        else
          x
        end
      end
    else
      return @body[meth]
    end
  else
    raise("undefined method \'#{meth}\' for #{body}")
  end
end