Sha256: e2e3119c326d2fe52adc07492462861e526ceedace083f5d1dd84b9fd7b283da

Contents?: true

Size: 679 Bytes

Versions: 28

Compression:

Stored size: 679 Bytes

Contents

module Workarea
  module Pricing
    module TaxApplication
      extend ActiveSupport::Concern
      include GuardNegativePrice

      def calculate_tax_amounts(taxable_amount, rate)
        {
          'country_amount' => calculate_tax_amount(taxable_amount, rate.country_percentage),
          'region_amount' => calculate_tax_amount(taxable_amount, rate.region_percentage),
          'postal_code_amount' => calculate_tax_amount(taxable_amount, rate.postal_code_percentage)
        }
      end

      def calculate_tax_amount(amount, percentage)
        return 0.to_m unless percentage.present?
        guard_negative_price { amount * percentage }
      end
    end
  end
end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
workarea-core-3.5.27 app/models/workarea/pricing/tax_application.rb
workarea-core-3.5.26 app/models/workarea/pricing/tax_application.rb
workarea-core-3.5.25 app/models/workarea/pricing/tax_application.rb
workarea-core-3.5.23 app/models/workarea/pricing/tax_application.rb
workarea-core-3.5.22 app/models/workarea/pricing/tax_application.rb
workarea-core-3.5.21 app/models/workarea/pricing/tax_application.rb
workarea-core-3.5.20 app/models/workarea/pricing/tax_application.rb
workarea-core-3.5.19 app/models/workarea/pricing/tax_application.rb
workarea-core-3.5.18 app/models/workarea/pricing/tax_application.rb
workarea-core-3.5.17 app/models/workarea/pricing/tax_application.rb
workarea-core-3.5.16 app/models/workarea/pricing/tax_application.rb
workarea-core-3.5.15 app/models/workarea/pricing/tax_application.rb
workarea-core-3.5.14 app/models/workarea/pricing/tax_application.rb
workarea-core-3.5.13 app/models/workarea/pricing/tax_application.rb
workarea-core-3.5.12 app/models/workarea/pricing/tax_application.rb
workarea-core-3.5.11 app/models/workarea/pricing/tax_application.rb
workarea-core-3.5.10 app/models/workarea/pricing/tax_application.rb
workarea-core-3.5.9 app/models/workarea/pricing/tax_application.rb
workarea-core-3.5.8 app/models/workarea/pricing/tax_application.rb
workarea-core-3.5.7 app/models/workarea/pricing/tax_application.rb