Hash#fetch(fetch) is not the same as doing hash[key]

This commit is contained in:
Xavier Noria 2012-07-21 08:04:37 +02:00
parent 3561e85bb1
commit 98f4aee8da

@ -96,7 +96,17 @@ def key?(key)
alias_method :has_key?, :key?
alias_method :member?, :key?
# Fetches the value for the specified key, same as doing hash[key]
# Same as <tt>Hash#fetch</tt> where the key passed as argument can be
# either a string or a symbol:
#
# counters = HashWithIndifferentAccess.new
# counters[:foo] = 1
#
# counters.fetch("foo") # => 1
# counters.fetch(:bar, 0) # => 0
# counters.fetch(:bar) {|key| 0} # => 0
# counters.fetch(:zoo) # => KeyError: key not found: "zoo"
#
def fetch(key, *extras)
super(convert_key(key), *extras)
end