Class: BungieSdk::Destiny2::Item

Inherits:
ApiAgent
  • Object
show all
Defined in:
lib/bungie_sdk/item.rb

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

Constructor Details

This class inherits a constructor from BungieSdk::ApiAgent

Instance Method Details

#costsObject



30
31
32
# File 'lib/bungie_sdk/item.rb', line 30

def costs
  data['costs']
end

#definitionObject



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_requestObject



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

#idObject



36
37
38
# File 'lib/bungie_sdk/item.rb', line 36

def id
  data['itemHash']
end

#instance_item?Boolean

Returns:

  • (Boolean)


60
61
62
# File 'lib/bungie_sdk/item.rb', line 60

def instance_item?
  definition['inventory']['isInstanceItem']
end

#nameObject



42
43
44
# File 'lib/bungie_sdk/item.rb', line 42

def name
  definition['displayProperties']['name']
end

#socket_idsObject



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

#socketsObject



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

#typeObject



48
49
50
# File 'lib/bungie_sdk/item.rb', line 48

def type
  definition['itemTypeDisplayName']
end

#type_and_tierObject



54
55
56
# File 'lib/bungie_sdk/item.rb', line 54

def type_and_tier
  definition['itemTypeAndTierDisplayName']
end