Sha256: fd91b8a8014b65a4233d2e599b8b1cf6f51c56f1f70e815f4216e0cb10b1be15

Contents?: true

Size: 818 Bytes

Versions: 2

Compression:

Stored size: 818 Bytes

Contents

module Workarea
  module Avatax
    class TaxRequest::Addresses
      attr_reader :tax_request

      def initialize(tax_request:)
        @tax_request = tax_request
      end

      def hash
        return { singleLocation: ship_from } unless ship_to.present?

        { shipFrom: ship_from, shipTo: ship_to }
      end

      private

        def ship_from
          Avatax.config.distribution_center
        end

        def ship_to
          return unless address = tax_request.shippings.first.try(:address)
          {
            line1:      address.street,
            line2:      address.street_2,
            city:       address.city,
            region:     address.region,
            country:    address.country.alpha2,
            postalCode: address.postal_code
          }
        end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
workarea-avatax-4.2.1 lib/workarea/avatax/tax_request/addresses.rb
workarea-avatax-4.2.0 lib/workarea/avatax/tax_request/addresses.rb