Class: BungieSdk::Destiny2::Item
Overview
Represents Destiny 2 items
Constant Summary
Constants inherited
from ApiAgent
ApiAgent::BASE_URI
Instance Attribute Summary
Attributes inherited from ApiAgent
#data
Instance Method Summary
collapse
Methods inherited from ApiAgent
#delete, #get, #initialize, #post, #put, #request, #run
Instance Method Details
#costs ⇒ Object
30
31
32
|
# File 'lib/bungie_sdk/item.rb', line 30
def costs
data['costs']
end
|
#definition ⇒ Object
20
21
22
23
24
25
26
|
# File 'lib/bungie_sdk/item.rb', line 20
def definition
if data['definition'].nil?
definition_request.run
end
data['definition']
end
|
#definition_request ⇒ Object
8
9
10
11
12
13
14
15
16
|
# File 'lib/bungie_sdk/item.rb', line 8
def definition_request
request = item_definition(id)
request.on_success do |response|
response = process_response(response)
data['definition'] = response.body
end
request
end
|
#id ⇒ Object
36
37
38
|
# File 'lib/bungie_sdk/item.rb', line 36
def id
data['itemHash']
end
|
#instance_item? ⇒ Boolean
60
61
62
|
# File 'lib/bungie_sdk/item.rb', line 60
def instance_item?
definition['inventory']['isInstanceItem']
end
|
#name ⇒ Object
42
43
44
|
# File 'lib/bungie_sdk/item.rb', line 42
def name
definition['displayProperties']['name']
end
|
#socket_ids ⇒ Object
73
74
75
76
77
78
79
80
81
|
# File 'lib/bungie_sdk/item.rb', line 73
def socket_ids
return [] if sockets.empty?
ids = sockets.map do |socket|
[socket['singleInitialItemHash'], socket['reusablePlugItems'].map {|s| s['plugItemHash'] }]
end
ids.flatten.uniq.map(&:to_s)
end
|
#sockets ⇒ Object
66
67
68
69
|
# File 'lib/bungie_sdk/item.rb', line 66
def sockets
item_sockets = definition['sockets']
item_sockets.nil? ? [] : item_sockets['socketEntries']
end
|
#type ⇒ Object
48
49
50
|
# File 'lib/bungie_sdk/item.rb', line 48
def type
definition['itemTypeDisplayName']
end
|
#type_and_tier ⇒ Object
54
55
56
|
# File 'lib/bungie_sdk/item.rb', line 54
def type_and_tier
definition['itemTypeAndTierDisplayName']
end
|