Sha256: add68c97c8980bbf0b29bccfacb4777893569404415bc0aa268c60e8b2647c6b

Contents?: true

Size: 1.2 KB

Versions: 7

Compression:

Stored size: 1.2 KB

Contents

# frozen_string_literal: true

module CzechPostB2bClient
  module Services
    class DeliveringInspector < CzechPostB2bClient::Services::Communicator
      attr_reader :parcel_codes

      def initialize(parcel_codes:)
        @parcel_codes = parcel_codes
      end

      private

      def request_builder_args
        { parcel_codes: parcel_codes }
      end

      def request_builder_class
        CzechPostB2bClient::RequestBuilders::GetParcelStateBuilder
      end

      def api_caller_class
        CzechPostB2bClient::Services::ApiCaller
      end

      def response_parser_class
        CzechPostB2bClient::ResponseParsers::GetParcelStateParser
      end

      def endpoint_path
        '/getParcelState'
      end

      def build_result_from(response_hash)
        result_hash = {}
        response_hash[:parcels].each_pair do |parcel_code, delivering_hash|
          result_hash[parcel_code] = {
            deposited_until: delivering_hash[:deposited_until],
            deposited_for_days: delivering_hash[:deposited_for_days],
            current_state: delivering_hash[:states].last,
            all_states: delivering_hash[:states]
          }
        end
        result_hash
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
czech_post_b2b_client-1.2.7 lib/czech_post_b2b_client/services/delivering_inspector.rb
czech_post_b2b_client-1.2.6 lib/czech_post_b2b_client/services/delivering_inspector.rb
czech_post_b2b_client-1.2.5 lib/czech_post_b2b_client/services/delivering_inspector.rb
czech_post_b2b_client-1.2.4 lib/czech_post_b2b_client/services/delivering_inspector.rb
czech_post_b2b_client-1.2.3 lib/czech_post_b2b_client/services/delivering_inspector.rb
czech_post_b2b_client-1.2.2 lib/czech_post_b2b_client/services/delivering_inspector.rb
czech_post_b2b_client-1.2.1 lib/czech_post_b2b_client/services/delivering_inspector.rb