diff options
author | Jared Norman <jared@super.gd> | 2019-05-28 16:01:19 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-28 16:01:19 -0700 |
commit | 858bed3f5bec55b8e2257073aa566764da16f1f8 (patch) | |
tree | 9b11db6a25bb98eb7296c61a9426f0697e045277 /lib | |
parent | c3e66f3b548ef7e829b97ccebf5e45ce9d25f04d (diff) | |
parent | 830da4ff9acfd3ff91fbefb2658418555295abbc (diff) |
Merge pull request #13 from SuperGoodSoft/feature/order-matters
Taxable Order Check
Diffstat (limited to 'lib')
-rw-r--r-- | lib/super_good/solidus_taxjar.rb | 2 | ||||
-rw-r--r-- | lib/super_good/solidus_taxjar/tax_calculator.rb | 5 |
2 files changed, 7 insertions, 0 deletions
diff --git a/lib/super_good/solidus_taxjar.rb b/lib/super_good/solidus_taxjar.rb index 6d6c47c..af2c7e8 100644 --- a/lib/super_good/solidus_taxjar.rb +++ b/lib/super_good/solidus_taxjar.rb @@ -19,6 +19,7 @@ module SuperGood attr_accessor :shipping_calculator attr_accessor :shipping_tax_label_maker attr_accessor :taxable_address_check + attr_accessor :taxable_order_check attr_accessor :test_mode end @@ -32,6 +33,7 @@ module SuperGood self.shipping_calculator = ->(order) { order.shipment_total } self.shipping_tax_label_maker = ->(shipment, shipping_tax) { "Sales Tax" } self.taxable_address_check = ->(address) { true } + self.taxable_order_check = ->(order) { true } self.test_mode = false end end diff --git a/lib/super_good/solidus_taxjar/tax_calculator.rb b/lib/super_good/solidus_taxjar/tax_calculator.rb index 0ddd50f..c7d44a9 100644 --- a/lib/super_good/solidus_taxjar/tax_calculator.rb +++ b/lib/super_good/solidus_taxjar/tax_calculator.rb @@ -13,6 +13,7 @@ module SuperGood def calculate return no_tax if SuperGood::SolidusTaxJar.test_mode return no_tax if incomplete_address?(order.tax_address) || order.line_items.none? + return no_tax unless taxable_order? order return no_tax unless taxable_address? order.tax_address cache do @@ -133,6 +134,10 @@ module SuperGood SuperGood::SolidusTaxJar.exception_handler end + def taxable_order?(order) + SuperGood::SolidusTaxJar.taxable_order_check.(order) + end + def taxable_address?(address) SuperGood::SolidusTaxJar.taxable_address_check.(address) end |