# File lib/map.rb, line 709 def has?(*keys) keys = key_for(keys) collection = self return Map.collection_has?(collection, keys.first) if keys.size <= 1 keys, key = keys[0..-2], keys[-1] keys.each do |k| if Map.collection_has?(collection, k) collection = Map.collection_key(collection, k) else collection = nil end return collection unless collection.respond_to?('[]') end return false unless(collection.is_a?(Hash) or collection.is_a?(Array)) Map.collection_has?(collection, key) end