diff options
Diffstat (limited to 'lib/super_good/solidus_taxjar.rb')
-rw-r--r-- | lib/super_good/solidus_taxjar.rb | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/lib/super_good/solidus_taxjar.rb b/lib/super_good/solidus_taxjar.rb index 818947d..ba4ff48 100644 --- a/lib/super_good/solidus_taxjar.rb +++ b/lib/super_good/solidus_taxjar.rb @@ -11,21 +11,33 @@ require "super_good/solidus_taxjar/discount_calculator" module SuperGood module SolidusTaxJar class << self + attr_accessor :cache_duration + attr_accessor :cache_key attr_accessor :discount_calculator - attr_accessor :test_mode attr_accessor :exception_handler - attr_accessor :taxable_address_check - attr_accessor :shipping_tax_label_maker attr_accessor :line_item_tax_label_maker + attr_accessor :shipping_tax_label_maker + attr_accessor :taxable_address_check + attr_accessor :test_mode end + self.cache_duration = 3.hours + self.cache_key = ->(order) { + APIParams.order_params(order).transform_values do |value| + case value + when Array, Hash then value.hash + else + value + end + end + } self.discount_calculator = ::SuperGood::SolidusTaxJar::DiscountCalculator - self.test_mode = false self.exception_handler = ->(e) { Rails.logger.error "An error occurred while fetching TaxJar tax rates - #{e}: #{e.message}" } - self.taxable_address_check = ->(address) { true } - self.shipping_tax_label_maker = ->(shipment, shipping_tax) { "Sales Tax" } self.line_item_tax_label_maker = ->(taxjar_line_item, spree_line_item) { "Sales Tax" } + self.shipping_tax_label_maker = ->(shipment, shipping_tax) { "Sales Tax" } + self.taxable_address_check = ->(address) { true } + self.test_mode = false end end |