Sha256: 5e330bb033e477a82d22819f348e4cc17812e26b6612b956dea43611e5f32c6a

Contents?: true

Size: 859 Bytes

Versions: 55

Compression:

Stored size: 859 Bytes

Contents

module Piggybak
  class TaxCalculator::Percent
    KEYS = ["state_id", "rate"]

    def self.available?(method, object)
      id = method.metadata.detect { |t| t.key == "state_id" }.value

      if object.is_a?(Cart)
        if object.extra_data[:state_id] != ""
          state = State.find(object.extra_data[:state_id])
          return state.id == id.to_i if state
        end
      else
        if object.billing_address && object.billing_address.state 
          return object.billing_address.state.id == id.to_i
        end
      end
      return false
    end

    def self.rate(method, object)
      taxable_total = 0

      if object.is_a?(Cart)
        taxable_total = object.total
      else
        taxable_total = object.subtotal
      end

      (method.metadata.detect { |m| m.key == "rate" }.value.to_f * taxable_total).to_c
    end
  end
end

Version data entries

55 entries across 55 versions & 1 rubygems

Version Path
piggybak-0.6.10 app/models/piggybak/tax_calculator/percent.rb
piggybak-0.6.9 app/models/piggybak/tax_calculator/percent.rb
piggybak-0.6.8 app/models/piggybak/tax_calculator/percent.rb
piggybak-0.6.7 app/models/piggybak/tax_calculator/percent.rb
piggybak-0.6.6 app/models/piggybak/tax_calculator/percent.rb
piggybak-0.6.5 app/models/piggybak/tax_calculator/percent.rb
piggybak-0.6.4 app/models/piggybak/tax_calculator/percent.rb
piggybak-0.6.3 app/models/piggybak/tax_calculator/percent.rb
piggybak-0.6.2 app/models/piggybak/tax_calculator/percent.rb
piggybak-0.6.1 app/models/piggybak/tax_calculator/percent.rb
piggybak-0.6.0 app/models/piggybak/tax_calculator/percent.rb
piggybak-0.5.5 app/models/piggybak/tax_calculator/percent.rb
piggybak-0.5.4 app/models/piggybak/tax_calculator/percent.rb
piggybak-0.5.3 app/models/piggybak/tax_calculator/percent.rb
piggybak-0.5.2 app/models/piggybak/tax_calculator/percent.rb
piggybak-0.5.1 app/models/piggybak/tax_calculator/percent.rb
piggybak-0.5.0 app/models/piggybak/tax_calculator/percent.rb
piggybak-0.4.39 app/models/piggybak/tax_calculator/percent.rb
piggybak-0.4.38 app/models/piggybak/tax_calculator/percent.rb
piggybak-0.4.37 app/models/piggybak/tax_calculator/percent.rb