class Grape::Util::LazyValueEnumerable

Public Instance Methods

[](key) click to toggle source
# File lib/grape/util/lazy_value.rb, line 37
def [](key)
  if @value_hash[key].nil?
    LazyValue.new(nil).reached_by(access_keys, key)
  else
    @value_hash[key].reached_by(access_keys, key)
  end
end
[]=(key, value) click to toggle source
# File lib/grape/util/lazy_value.rb, line 51
def []=(key, value)
  @value_hash[key] = case value
                     when Hash
                       LazyValueHash.new(value)
                     when Array
                       LazyValueArray.new(value)
                     else
                       LazyValue.new(value)
                     end
end
fetch(access_keys) click to toggle source
# File lib/grape/util/lazy_value.rb, line 45
def fetch(access_keys)
  fetched_keys = access_keys.dup
  value = self[fetched_keys.shift]
  fetched_keys.any? ? value.fetch(fetched_keys) : value
end