Method: Ceres::Children#fetch

Defined in:
lib/ceres/children.rb

#fetch(key, *argv, &block) ⇒ Object



71
72
73
74
75
76
77
78
79
80
81
82
83
84
# File 'lib/ceres/children.rb', line 71

def fetch(key, *argv, &block)
  if self.has_key?(key)
    @children[key]
  elsif argv.count > 0
    argv[0]
  elsif block
    block.call(key)
  else
    raise KeyError.new("key not found #{key.inspect}")

    # TODO (ruby 2.6)
    # raise KeyError.new("key not found #{key.inspect}", key: name, receiver: self)
  end
end