class Workarea::Avatax::TaxRequest::Addresses

Attributes

tax_request[R]

Public Class Methods

new(tax_request:) click to toggle source
# File lib/workarea/avatax/tax_request/addresses.rb, line 6
def initialize(tax_request:)
  @tax_request = tax_request
end

Public Instance Methods

hash() click to toggle source
# File lib/workarea/avatax/tax_request/addresses.rb, line 10
def hash
  return { singleLocation: ship_from } unless ship_to.present?

  { shipFrom: ship_from, shipTo: ship_to }
end

Private Instance Methods

ship_from() click to toggle source
# File lib/workarea/avatax/tax_request/addresses.rb, line 18
def ship_from
  Avatax.config.distribution_center
end
ship_to() click to toggle source
# File lib/workarea/avatax/tax_request/addresses.rb, line 22
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