Module: Easyship::SalesTax::Calculator
- Defined in:
- lib/easyship/sales_tax/calculator.rb,
lib/easyship/sales_tax/calculator/version.rb
Defined Under Namespace
Classes: Error
Constant Summary collapse
- FALLBACK_VALUE =
{sales_tax: 0, provincial_sales_tax: 0}.freeze
- VERSION =
"0.7.0"
Class Method Summary collapse
- .calculate(origin_country_alpha2: nil, destination_country_alpha2: nil, origin_state: nil, destination_state: nil, fees: nil, effective_timestamp: nil, effective_country_alpha2s: []) ⇒ Object
- .sales_tax_website_name(country_alpha2, effective_timestamp = nil) ⇒ Object
Class Method Details
.calculate(origin_country_alpha2: nil, destination_country_alpha2: nil, origin_state: nil, destination_state: nil, fees: nil, effective_timestamp: nil, effective_country_alpha2s: []) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/easyship/sales_tax/calculator.rb', line 11 def self.calculate(origin_country_alpha2: nil, destination_country_alpha2: nil, origin_state: nil, destination_state: nil, fees: nil, effective_timestamp: nil, effective_country_alpha2s: []) return FALLBACK_VALUE if origin_country_alpha2.nil? || origin_country_alpha2.empty? || destination_country_alpha2.nil? || destination_country_alpha2.empty? return FALLBACK_VALUE unless fees.is_a?(Fee) if domestic?(origin_country_alpha2, destination_country_alpha2) || within_eu?(origin_country_alpha2, destination_country_alpha2) domestic_value( origin_country_alpha2: origin_country_alpha2, origin_state: origin_state, destination_state: destination_state, fees: fees, effective_timestamp: , effective_country_alpha2s: effective_country_alpha2s ) else FALLBACK_VALUE end rescue FALLBACK_VALUE end |
.sales_tax_website_name(country_alpha2, effective_timestamp = nil) ⇒ Object
31 32 33 34 |
# File 'lib/easyship/sales_tax/calculator.rb', line 31 def self.sales_tax_website_name(country_alpha2, = nil) rates = Formula.effective_data(country_alpha2, ) (rates || {}).dig(:sales_tax_website_name) end |