Class: SpreeAvataxOfficial::Address::Validate

Inherits:
Base
  • Object
show all
Defined in:
app/services/spree_avatax_official/address/validate.rb

Constant Summary collapse

SUPPORTED_COUNTRIES =

Avalara’s address validation API only supports US and Canadian addresses.

%w[US CA].freeze

Constants inherited from Base

Base::APP_NAME, Base::APP_VERSION, Base::CONNECTION_OPTIONS, Base::SUCCESS_STATUSES

Instance Method Summary collapse

Instance Method Details

#call(address:, order:) ⇒ Object



7
8
9
10
11
12
13
14
15
# File 'app/services/spree_avatax_official/address/validate.rb', line 7

def call(address:, order:)
  return success(nil) if address.nil? || !supported_country?(address)

  response = send_request(address, order)

  return failure(response) if errors?(response)

  success(response)
end