Class: BungieSdk::Destiny2::Vendor

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

Overview

Represents vendors in Destiny 2

Constant Summary

Constants inherited from ApiAgent

ApiAgent::BASE_URI

Instance Attribute Summary collapse

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 Attribute Details

#failed_definitionObject (readonly)

Returns the value of attribute failed_definition.



8
9
10
# File 'lib/bungie_sdk/vendor.rb', line 8

def failed_definition
  @failed_definition
end

Instance Method Details

#definitionObject



44
45
46
47
48
49
50
51
52
# File 'lib/bungie_sdk/vendor.rb', line 44

def definition
  return {} if @failed_definition

  if data['definition'].nil?
    definition_request.run
  end

  data['definition']
end

#definition_requestObject



30
31
32
33
34
35
36
37
38
39
40
# File 'lib/bungie_sdk/vendor.rb', line 30

def definition_request
  request = vendor_definition(data['vendorData']['vendorHash'])
  request.on_success do |response|
    response           = process_response(response)
    data['definition'] = response.body
  end

  request.on_failure {|_| @failed_definition = true }

  request
end

#idObject



12
13
14
# File 'lib/bungie_sdk/vendor.rb', line 12

def id
  data['vendorData']['vendorHash']
end

#itemsObject



56
57
58
# File 'lib/bungie_sdk/vendor.rb', line 56

def items
  sales.map {|sale| Item.new(sale) }
end

#nameObject



18
19
20
# File 'lib/bungie_sdk/vendor.rb', line 18

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

#salesObject



24
25
26
# File 'lib/bungie_sdk/vendor.rb', line 24

def sales
  data['sales']['saleItems'].values
end