Sha256: 6608050b239f2891944392b762891dfeb7d49bc7a43a141402c97fb832145c03

Contents?: true

Size: 615 Bytes

Versions: 4

Compression:

Stored size: 615 Bytes

Contents

# frozen_string_literal: true

module BingAdsRubySdk
  module Postprocessors
    class CastLongArrays
      def initialize(params)
        @params = params
      end

      def call
        process(@params)
      end

      private

      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
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
bing_ads_ruby_sdk-1.7 lib/bing_ads_ruby_sdk/postprocessors/cast_long_arrays.rb
bing_ads_ruby_sdk-1.6 lib/bing_ads_ruby_sdk/postprocessors/cast_long_arrays.rb
bing_ads_ruby_sdk-1.5.2 lib/bing_ads_ruby_sdk/postprocessors/cast_long_arrays.rb
bing_ads_ruby_sdk-1.5.0 lib/bing_ads_ruby_sdk/postprocessors/cast_long_arrays.rb