Method: Mixture::Extensions::Hashable#fetch
- Defined in:
- lib/mixture/extensions/hashable.rb
#fetch(key) ⇒ Object #fetch(key, default) ⇒ Object #fetch(key) {|key| ... } ⇒ Object
85 86 87 88 89 90 91 |
# File 'lib/mixture/extensions/hashable.rb', line 85 def fetch(key, default = Undefined) if key?(key.to_s.intern) then attribute(key.to_s.intern) elsif block_given? then yield(key.to_s.intern) elsif default != Undefined then default else fail KeyError, "Undefined attribute #{key.to_s.intern}" end end |