module Hashie::Extensions::StrictKeyAccess
def [](key)
KeyError: key not found: "noes"
>> a["noes"]
=> {}
>> a = StrictKeyAccessHash.new(123)
With StrictKeyAccess:
=> 123
>> a["noes"]
=> {}
>> a = Hash.new(123)
Normal:
NOTE: When key lookup fails a KeyError is raised.
NOTE: Defaults don't make any sense with a StrictKeyAccess.
def [](key) fetch(key) end
def default(_ = nil)
def default(_ = nil) fail DefaultError end
def default=(_)
def default=(_) fail DefaultError end
def default_proc
def default_proc fail DefaultError end
def default_proc=(_)
def default_proc=(_) fail DefaultError end
def key(value)
def key(value) result = super if result.nil? && (!key?(result) || self[result] != value) fail KeyError, "key not found with value of #{value.inspect}" else result end end