Class: Printfection::Order
Constant Summary
collapse
- STATUS_CODES =
{
"unknown" => -2,
"cancelled" => -1,
"open" => 0,
"received" => 1,
"approved" => 2,
"processed" => 3,
"shipped" => 4,
"completed" => 5
}
Instance Attribute Summary
Attributes inherited from Resource
#relation
Class Method Summary
collapse
Instance Method Summary
collapse
retrieve
all
create
#delete
#save
Methods inherited from Resource
#changes, #initialize, #uri
Class Method Details
.uri ⇒ Object
27
28
29
|
# File 'lib/printfection/order.rb', line 27
def self.uri
"/orders"
end
|
Instance Method Details
#approved? ⇒ Boolean
81
82
83
|
# File 'lib/printfection/order.rb', line 81
def approved?
status_code >= 2
end
|
#campaign ⇒ Object
42
43
44
|
# File 'lib/printfection/order.rb', line 42
def campaign
Campaign.retrieve(campaign_id)
end
|
#cancel ⇒ Object
50
51
52
|
# File 'lib/printfection/order.rb', line 50
def cancel
delete
end
|
#cancelled? ⇒ Boolean
73
74
75
|
# File 'lib/printfection/order.rb', line 73
def cancelled?
status_code == -1
end
|
#completed? ⇒ Boolean
93
94
95
|
# File 'lib/printfection/order.rb', line 93
def completed?
status_code == 5
end
|
#line_items ⇒ Object
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/printfection/order.rb', line 31
def line_items
Relation.new(
parent: self,
children: self[:line_items],
klass: LineItem,
path: '/lineitems',
keys: {:id => :order_id},
actions: [Actions::Retrieve, Actions::Create]
)
end
|
#open? ⇒ Boolean
69
70
71
|
# File 'lib/printfection/order.rb', line 69
def open?
status_code == 0
end
|
#place ⇒ Object
46
47
48
|
# File 'lib/printfection/order.rb', line 46
def place
Printfection.post Util.join_uri(uri, "/place")
end
|
#processed? ⇒ Boolean
85
86
87
|
# File 'lib/printfection/order.rb', line 85
def processed?
status_code >= 3
end
|
#received? ⇒ Boolean
77
78
79
|
# File 'lib/printfection/order.rb', line 77
def received?
status_code >= 1
end
|
#shipped? ⇒ Boolean
89
90
91
|
# File 'lib/printfection/order.rb', line 89
def shipped?
status_code >= 4
end
|
#status_code ⇒ Object
65
66
67
|
# File 'lib/printfection/order.rb', line 65
def status_code
STATUS_CODES[status]
end
|