Module: SpreeAvatax::Shared

Defined in:
app/models/spree_avatax/shared.rb

Defined Under Namespace

Classes: FailedApiResponse

Class Method Summary collapse

Class Method Details

.loggerObject



23
24
25
# File 'app/models/spree_avatax/shared.rb', line 23

def logger
  Rails.logger
end

.require_success!(response) ⇒ Object



40
41
42
43
44
45
46
47
48
49
# File 'app/models/spree_avatax/shared.rb', line 40

def require_success!(response)
  if response[:result_code] == 'Success'
    logger.info "[avatax] response - result=success doc_id=#{response[:doc_id]} doc_code=#{response[:doc_code]} transaction_id=#{response[:transaction_id]}"
    logger.debug { "[avatax] response: #{response.to_json}" }
  else
    logger.error "[avatax] response - result=error doc_id=#{response[:doc_id]} doc_code=#{response[:doc_code]} transaction_id=#{response[:transaction_id]}"
    logger.error "[avatax] response: #{response.to_json}"
    raise FailedApiResponse.new(response)
  end
end

.tax_svcObject



31
32
33
34
35
36
37
38
# File 'app/models/spree_avatax/shared.rb', line 31

def tax_svc
  @tax_svc ||= AvaTax::TaxService.new({
    username:               SpreeAvatax::Config.username,
    password:               SpreeAvatax::Config.password,
    service_url:            SpreeAvatax::Config.service_url,
    clientname:             'Spree::Avatax',
  })
end

.taxable_order?(order) ⇒ Boolean

Returns:

  • (Boolean)


27
28
29
# File 'app/models/spree_avatax/shared.rb', line 27

def taxable_order?(order)
  order.line_items.present? && order.ship_address.present?
end