diff options
author | Jared Norman <jared@super.gd> | 2019-03-24 10:05:58 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-24 10:05:58 -0700 |
commit | 981ee59475e4ba1257a5846f0773acac57b548fa (patch) | |
tree | 5c243161b27ca76e5763aee91067ad9d99cc698d /lib/super_good/solidus_taxjar.rb | |
parent | 0e1ad4818e5473c3333bd0329456cb79cc43ff83 (diff) | |
parent | ba8dc647da8c69428a2dfb3a136a59bbb8cacdd7 (diff) |
Merge pull request #7 from SuperGoodSoft/feature/configurable-cache-keyv0.9.0
Configurable Caching
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 |