class Ivapi::Response::RenameKeys

Constants

UNUSED_KEYS

Public Instance Methods

on_complete(response) click to toggle source
# File lib/ivapi/response/rename_keys.rb, line 11
def on_complete(response)
  response[:body] = rename_keys(response[:body])
end

Private Instance Methods

rename_keys(input) click to toggle source
# File lib/ivapi/response/rename_keys.rb, line 17
def rename_keys(input)
  case input
  when Hash
    rename_keys_from_hash(input)
  when Array
    input.map { |value| rename_keys(value) }
  else
    input
  end
end
rename_keys_from_hash(input) click to toggle source
# File lib/ivapi/response/rename_keys.rb, line 28
def rename_keys_from_hash(input)
  new_hash = {}

  input.map do |key, value|
    case value
    when Hash
      value = rename_keys(value)
    when Array
      value = value.map { |v| rename_keys(v) }
    end

    new_hash[key.gsub(Regexp.union(UNUSED_KEYS), '')] = value
  end

  new_hash
end