Module: SolidusShipwire::Order
- Includes:
- Proxy
- Defined in:
- app/models/order_decorator.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from Proxy
#create_on_shipwire, #find_on_shipwire, #find_or_create_on_shipwire_api, #in_shipwire, #update_on_shipwire
Class Method Details
.prepended(base) ⇒ Object
4
5
6
7
|
# File 'app/models/order_decorator.rb', line 4
def self.prepended(base)
base.after_save :update_on_shipwire, if: :update_on_shipwire?
base.state_machine.after_transition to: :complete, do: :in_shipwire, if: :line_items_in_shipwire?
end
|
Instance Method Details
#line_items_in_shipwire ⇒ Object
28
29
30
|
# File 'app/models/order_decorator.rb', line 28
def line_items_in_shipwire
line_items.on_shipwire.map(&:to_shipwire)
end
|
#line_items_in_shipwire? ⇒ Boolean
24
25
26
|
# File 'app/models/order_decorator.rb', line 24
def line_items_in_shipwire?
line_items_in_shipwire.any?
end
|
#shipwire_can_split? ⇒ Boolean
36
37
38
|
# File 'app/models/order_decorator.rb', line 36
def shipwire_can_split?
1
end
|
#shipwire_currency ⇒ Object
44
45
46
|
# File 'app/models/order_decorator.rb', line 44
def shipwire_currency
'USD'
end
|
#shipwire_hold? ⇒ Boolean
40
41
42
|
# File 'app/models/order_decorator.rb', line 40
def shipwire_hold?
0
end
|
#shipwire_server ⇒ Object
48
49
50
|
# File 'app/models/order_decorator.rb', line 48
def shipwire_server
'Production'
end
|
#to_shipwire ⇒ Object
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'app/models/order_decorator.rb', line 9
def to_shipwire
{
orderId: id,
orderNo: number,
options: {
currency: shipwire_currency,
canSplit: shipwire_can_split?,
hold: shipwire_hold?,
server: shipwire_server
},
items: line_items_in_shipwire,
shipTo: ship_address.to_shipwire.merge(email: email)
}
end
|
#to_shipwire_object(hash) ⇒ Object