# File lib/map.rb, line 774 def Map.collection_has?(collection, key, &block) has_key = case collection when Array key = (Integer(key) rescue nil) !!collection.fetch(key) rescue false when Hash collection.has_key?(key) else raise(IndexError, "(#{ collection.inspect })[#{ key.inspect }]") end block.call(key) if(has_key and block) has_key end