class TLAW::ResponseProcessor::Items

Public Class Methods

new(key, subkey = nil, &block) click to toggle source
# File lib/tlaw/response_processor.rb, line 40
def initialize(key, subkey = nil, &block)
  @key = key
  @item_processor = subkey ? Key.new(subkey, &block) : Base.new(&block)
end

Public Instance Methods

call(hash) click to toggle source
# File lib/tlaw/response_processor.rb, line 45
def call(hash)
  return hash unless hash.is_a?(Hash)
  hash.keys.grep(@key).inject(hash) do |res, k|
    next res unless hash[k].is_a?(Array)
    res.merge(k => hash[k].map(&@item_processor))
  end
end