class SuperGood::SolidusTaxjar::TaxRateCalculator
Attributes
address[R]
api[R]
Public Class Methods
new(address, api: SuperGood::SolidusTaxjar.api)
click to toggle source
# File lib/super_good/solidus_taxjar/tax_rate_calculator.rb, line 5 def initialize(address, api: SuperGood::SolidusTaxjar.api) @address = address @api = api end
Public Instance Methods
calculate()
click to toggle source
# File lib/super_good/solidus_taxjar/tax_rate_calculator.rb, line 10 def calculate return no_rate if SuperGood::SolidusTaxjar.test_mode return no_rate if incomplete_address?(address) return no_rate unless taxable_address?(address) cache do api.tax_rate_for(address).to_d end rescue => e exception_handler.call(e) no_rate end
Private Instance Methods
cache_key()
click to toggle source
# File lib/super_good/solidus_taxjar/tax_rate_calculator.rb, line 30 def cache_key SuperGood::SolidusTaxjar.cache_key.call(address) end
no_rate()
click to toggle source
# File lib/super_good/solidus_taxjar/tax_rate_calculator.rb, line 26 def no_rate BigDecimal(0) end