Method: Spree::TaxRate#adjust

Defined in:
app/models/spree/tax_rate.rb

#adjust(order_tax_zone, item) ⇒ Object

Creates necessary tax adjustments for the order.



145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
# File 'app/models/spree/tax_rate.rb', line 145

def adjust(order_tax_zone, item)
  amount = compute_amount(item)
  return if amount == 0

  included = included_in_price && default_zone_or_zone_match?(order_tax_zone)

  if amount < 0
    label = Spree.t(:refund) + ' ' + create_label
  end

  self.adjustments.create!({
    :adjustable => item,
    :amount => amount,
    :order_id => item.order_id,
    :label => label || create_label,
    :included => included
  })
end