class BingAdsRubySdk::Postprocessors::CastLongArrays

Public Class Methods

new(params) click to toggle source
# File lib/bing_ads_ruby_sdk/postprocessors/cast_long_arrays.rb, line 7
def initialize(params)
  @params = params
end

Public Instance Methods

call() click to toggle source
# File lib/bing_ads_ruby_sdk/postprocessors/cast_long_arrays.rb, line 11
def call
  process(@params)
end

Private Instance Methods

process(obj) click to toggle source
# File lib/bing_ads_ruby_sdk/postprocessors/cast_long_arrays.rb, line 17
def process(obj)
  return unless obj.is_a?(Hash)

  obj.each do |k, v|
    case v
    when Hash
      if v[:long].is_a?(Array)
        obj[k] = v[:long].map(&:to_i)
      else
        process(v)
      end
    when Array
      v.each {|elt| process(elt) }
    end
  end
end