Sha256: 6aa195e5a69ce60beca337954c545743bc5e892cc5c1481769e58f4a602ece7e
Contents?: true
Size: 767 Bytes
Versions: 3
Compression:
Stored size: 767 Bytes
Contents
module SuperGood module SolidusTaxjar class TaxRateCalculator include CalculatorHelper def initialize(address, api: SuperGood::SolidusTaxjar.api) @address = address @api = api end 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 attr_reader :address, :api def no_rate BigDecimal(0) end def cache_key SuperGood::SolidusTaxjar.cache_key.call(address) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems