Class: WhiplashApi::Item
- Inherits:
-
Base
- Object
- ActiveResource::Base
- Base
- WhiplashApi::Item
show all
- Defined in:
- lib/whiplash_api/item.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Base
connection, headers, reset_headers!, testing!
Class Method Details
.count(args = {}) ⇒ Object
4
5
6
|
# File 'lib/whiplash_api/item.rb', line 4
def count(args={})
self.get(:count, args)
end
|
.find_or_create(id, args = {}) ⇒ Object
20
21
22
23
24
|
# File 'lib/whiplash_api/item.rb', line 20
def find_or_create(id, args={})
self.find(id)
rescue WhiplashApi::RecordNotFound
create(args)
end
|
.find_or_create_by_originator_id(id, args = {}) ⇒ Object
30
31
32
|
# File 'lib/whiplash_api/item.rb', line 30
def find_or_create_by_originator_id(id, args={})
originator(id) || create(args.merge(originator_id: id))
end
|
.find_or_create_by_sku(sku, args = {}) ⇒ Object
26
27
28
|
# File 'lib/whiplash_api/item.rb', line 26
def find_or_create_by_sku(sku, args={})
first_by_sku(sku) || create(args.merge(sku: sku))
end
|
.first_by_sku(sku, args = {}) ⇒ Object
additional useful methods:
47
48
49
|
# File 'lib/whiplash_api/item.rb', line 47
def first_by_sku(sku, args={})
self.sku(sku, args).first
end
|
.group(id, args = {}) ⇒ Object
12
13
14
|
# File 'lib/whiplash_api/item.rb', line 12
def group(id, args={})
sanitize_as_resource self.get("group/#{id}", args)
end
|
.originator(id, args = {}) ⇒ Object
16
17
18
|
# File 'lib/whiplash_api/item.rb', line 16
def originator(id, args={})
sanitize_as_resource self.get("originator/#{id}", args)
end
|
.sku(sku, args = {}) ⇒ Object
8
9
10
|
# File 'lib/whiplash_api/item.rb', line 8
def sku(sku, args={})
sanitize_as_resource self.get(:sku, { sku: sku }.merge(args))
end
|
.update(args = {}) ⇒ Object
34
35
36
37
38
|
# File 'lib/whiplash_api/item.rb', line 34
def update(args={})
item = self.originator(args[:originator_id])
raise RecordNotFound, "No item was found with given Originator ID." unless item
item.update_attributes(args) ? item : nil
end
|
Instance Method Details
#destroy(args = {}) ⇒ Object
53
54
55
|
# File 'lib/whiplash_api/item.rb', line 53
def destroy(args={})
self.class.delete(self.id, args)
end
|