summaryrefslogtreecommitdiff
path: root/lib/super_good/solidus_taxjar/api.rb
diff options
context:
space:
mode:
authorJared Norman <jared@super.gd>2019-01-30 13:07:40 -0800
committerJared Norman <jared@super.gd>2019-01-30 13:07:40 -0800
commit8f3744abd7f06da848856136a7888c2b01b40ee5 (patch)
tree697c9c83e5db393f063823444282c0a32c053ae3 /lib/super_good/solidus_taxjar/api.rb
parent0152c8c4d62300e52e02d1d841e1d59ee36add99 (diff)
Integrate APIParams class
This removes the logic from the API class and moves all the calls to the order_params method to our new module.
Diffstat (limited to 'lib/super_good/solidus_taxjar/api.rb')
-rw-r--r--lib/super_good/solidus_taxjar/api.rb30
1 files changed, 1 insertions, 29 deletions
diff --git a/lib/super_good/solidus_taxjar/api.rb b/lib/super_good/solidus_taxjar/api.rb
index 2504216..1392a47 100644
--- a/lib/super_good/solidus_taxjar/api.rb
+++ b/lib/super_good/solidus_taxjar/api.rb
@@ -13,7 +13,7 @@ module SuperGood
end
def tax_for(order)
- taxjar_client.tax_for_order order_params(order)
+ taxjar_client.tax_for_order APIParams.order_params(order)
end
def tax_rates_for(address)
@@ -26,37 +26,9 @@ module SuperGood
)
end
- def order_params(order)
- tax_address = order.tax_address
-
- {
- to_country: tax_address.country.iso,
- to_zip: tax_address.zipcode,
- to_city: tax_address.city,
- to_state: tax_address&.state&.abbr || tax_address.state_name,
- to_street: tax_address.address1,
-
- shipping: order.shipment_total,
-
- line_items: order.line_items.map do |line_item|
- {
- id: line_item.id,
- quantity: line_item.quantity,
- unit_price: line_item.price,
- discount: discount(line_item),
- product_tax_code: line_item.tax_category&.tax_code
- }
- end
- }
- end
-
private
attr_reader :taxjar_client
-
- def discount(line_item)
- ::SuperGood::SolidusTaxJar.discount_calculator.new(line_item).discount
- end
end
end
end