Sha256: 22b232b4f176d39eb3c1b3d3e444ecc869abe00331d9e25ee0e8d5179bc67dac

Contents?: true

Size: 709 Bytes

Versions: 20

Compression:

Stored size: 709 Bytes

Contents

# frozen_string_literal: true

module FriendlyShipping
  module Services
    class Ups
      class ParseAddressClassificationResponse
        extend Dry::Monads::Result::Mixin

        def self.call(request:, response:)
          parsing_result = ParseXMLResponse.call(response.body, 'AddressValidationResponse')

          parsing_result.bind do |xml|
            address_type = xml.at('AddressClassification/Description')&.text&.downcase
            Success(
              FriendlyShipping::ApiResult.new(
                address_type,
                original_request: request,
                original_response: response
              )
            )
          end
        end
      end
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
friendly_shipping-0.5.2 lib/friendly_shipping/services/ups/parse_address_classification_response.rb
friendly_shipping-0.5.1 lib/friendly_shipping/services/ups/parse_address_classification_response.rb
friendly_shipping-0.5 lib/friendly_shipping/services/ups/parse_address_classification_response.rb
friendly_shipping-0.4.14 lib/friendly_shipping/services/ups/parse_address_classification_response.rb
friendly_shipping-0.4.13 lib/friendly_shipping/services/ups/parse_address_classification_response.rb
friendly_shipping-0.4.12 lib/friendly_shipping/services/ups/parse_address_classification_response.rb
friendly_shipping-0.4.11 lib/friendly_shipping/services/ups/parse_address_classification_response.rb
friendly_shipping-0.4.10 lib/friendly_shipping/services/ups/parse_address_classification_response.rb
friendly_shipping-0.4.9 lib/friendly_shipping/services/ups/parse_address_classification_response.rb
friendly_shipping-0.4.8 lib/friendly_shipping/services/ups/parse_address_classification_response.rb
friendly_shipping-0.4.7 lib/friendly_shipping/services/ups/parse_address_classification_response.rb
friendly_shipping-0.4.6 lib/friendly_shipping/services/ups/parse_address_classification_response.rb
friendly_shipping-0.4.5 lib/friendly_shipping/services/ups/parse_address_classification_response.rb
friendly_shipping-0.4.4 lib/friendly_shipping/services/ups/parse_address_classification_response.rb
friendly_shipping-0.4.3 lib/friendly_shipping/services/ups/parse_address_classification_response.rb
friendly_shipping-0.4.2 lib/friendly_shipping/services/ups/parse_address_classification_response.rb
friendly_shipping-0.4.1 lib/friendly_shipping/services/ups/parse_address_classification_response.rb
friendly_shipping-0.4.0 lib/friendly_shipping/services/ups/parse_address_classification_response.rb
friendly_shipping-0.3.4 lib/friendly_shipping/services/ups/parse_address_classification_response.rb
friendly_shipping-0.3.3 lib/friendly_shipping/services/ups/parse_address_classification_response.rb