Method: Bunto::Drops::Drop#fetch

Defined in:
lib/bunto/drops/drop.rb

#fetch(key, default = nil, &block) ⇒ Object

Imitate Hash.fetch method in Drop

Returns value if key is present in Drop, otherwise returns default value KeyError is raised if key is not present and no default value given

Raises:

  • (KeyError)


207
208
209
210
211
212
# File 'lib/bunto/drops/drop.rb', line 207

def fetch(key, default = nil, &block)
  return self[key] if key?(key)
  raise KeyError, %(key not found: "#{key}") if default.nil? && block.nil?
  return yield(key) unless block.nil?
  return default unless default.nil?
end