Sha256: c2926c09d28a89330e49147277ebd12df8a33d2392d94ad6e1f73928c49f91ad

Contents?: true

Size: 743 Bytes

Versions: 2

Compression:

Stored size: 743 Bytes

Contents

# frozen_string_literal: true

module GmanClient
  module CommodityMerchandising
    module Contracts
      def contracts(filters)
        response = attempt(@retry_attempts) do
          request
            .api
            .v1
            .commodity_merchandising
            .contracts
            .get(params: { q: clean_filters(filters) })
        end

        response
          .map(&:to_h)
      end

      def clean_filters(filters)
        keep = filters.select do |k, _v|
          %i(
            commodity_id_eq
            contract_type_eq
            customer_id_eq
            inv_contract_id_eq
            location_id_eq
          ).include?(k)
        end

        Hash[filters.to_a & keep.to_a]
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
gman_client-0.4.1 lib/gman_client/commodity_merchandising/contracts.rb
gman_client-0.4.0 lib/gman_client/commodity_merchandising/contracts.rb