Sha256: 67158313af7085f2e4f21ffc1e2131bfd8e3a5b03afba49b5175e6b50b6972e4
Contents?: true
Size: 936 Bytes
Versions: 2
Compression:
Stored size: 936 Bytes
Contents
require 'faraday' module Ivapi # Faraday response middleware module Response class RenameKeys < Faraday::Response::Middleware UNUSED_KEYS = %w[ac_ us_ bo_ or_ se_ ta_ in_].freeze private def on_complete(response) response[:body] = rename_keys(response[:body]) end def rename_keys(input) if input.is_a?(Hash) rename_keys_from_hash(input) elsif input.is_a?(Array) input.map { |value| rename_keys(value) } else input end end def rename_keys_from_hash(input) new_hash = {} input.map do |key, value| if value.is_a?(Hash) value = rename_keys(value) elsif value.is_a?(Array) value = value.map { |v| rename_keys(v) } end new_hash[key.gsub(Regexp.union(UNUSED_KEYS), '')] = value end new_hash end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ivapi-1.5.0 | lib/ivapi/response/rename_keys.rb |
ivapi-1.4.0 | lib/ivapi/response/rename_keys.rb |