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 
     |