summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJared Norman <jared@super.gd>2019-05-28 16:01:19 -0700
committerGitHub <noreply@github.com>2019-05-28 16:01:19 -0700
commit858bed3f5bec55b8e2257073aa566764da16f1f8 (patch)
tree9b11db6a25bb98eb7296c61a9426f0697e045277 /lib
parentc3e66f3b548ef7e829b97ccebf5e45ce9d25f04d (diff)
parent830da4ff9acfd3ff91fbefb2658418555295abbc (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.rb2
-rw-r--r--lib/super_good/solidus_taxjar/tax_calculator.rb5
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