Age | Commit message (Collapse) | Author |
|
This done so Zeitwerk can correctly can correctly load the class
from the filename.
Co-authored-by: Nick Van Doorn <nick@super.gd>
|
|
In order for the Zeitwerk loader to properly identity our classes
from the file names, we should remove camel casing from this name
that isn't consistent with underscores in the file name itself.
Co-authored-by: Nick Van Doorn <nick@super.gd>
|
|
|
|
This is used by any class that interacts with the TaxJar API and is
meant to be able to be consumed by applications for custom needs, so
let's just make it exposed at the top level.
|
|
|
|
|
|
This new calculator allows to retrieve tax rate information starting
from a `Spree::Address` model.
It shares some logic with the tax calculator, for example the ability
to handle exceptions using `SolidusTaxJar.exception_handler` lambda.
|
|
`SuperGood::SolidusTaxJar.cache_key` uses different `APIParams`
methods for calculating cache keys for different models.
|
|
This module includes helper methods that can be shared among different
calculators.
|
|
|
|
|
|
This will allow apps to use properties of an order to determine whether
an order is taxable.
|
|
Necessary if you need to factor in order level adjustments (boooooo)
into your shipping amounts to make things add up correctly.
|
|
This never actually worked as expected. While imperfect, use the order
params directly will produce better results.
|
|
|
|
Some stores may want to more aggressively cache the responses,
preferring fewer requests to more accurate results.
|
|
I just like any list with more than half a dozen things to be sorted.
|
|
|
|
|
|
|
|
|
|
|
|
This removes the logic from the API class and moves all the calls to the
order_params method to our new module.
|
|
|
|
This allows stores to specify their own discount calculator in an
initializer, by doing something like the following:
SuperGood::SolidusTaxJar.discount_calculator = MyStore::CustomDiscountCalculator
The class's constructor should take in a line item and have a #discount
method that returns the discount amount (which should be a negative
number.)
|
|
This allows us to calculate the tax for a Solidus order using the TaxJar
API. It's currently hardcoded to use the sandbox, and provides no
caching.
|
|
This implements the interface required by Solidus, however it currently
just reports no taxes.
|
|
|
|
|
|
|