Class: Spree::Tax::OrderAdjuster

Inherits:
Object
  • Object
show all
Includes:
TaxHelpers
Defined in:
app/models/spree/tax/order_adjuster.rb

Overview

Add tax adjustments to all line items and shipments in an order

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(order) ⇒ OrderAdjuster

Returns a new instance of OrderAdjuster.

Parameters:



10
11
12
# File 'app/models/spree/tax/order_adjuster.rb', line 10

def initialize(order)
  @order = order
end

Instance Attribute Details

#orderObject (readonly)

Returns the value of attribute order.



5
6
7
# File 'app/models/spree/tax/order_adjuster.rb', line 5

def order
  @order
end

Instance Method Details

#adjust!Object

Creates tax adjustments for all taxable items (shipments and line items) in the given order.



16
17
18
19
20
21
22
# File 'app/models/spree/tax/order_adjuster.rb', line 16

def adjust!
  return unless order_tax_zone(order)

  (order.line_items + order.shipments).each do |item|
    ItemAdjuster.new(item, order_wide_options).adjust!
  end
end