esi 0.4.6 → 0.4.7.pre.alpha.pre.60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/esi.gemspec +6 -1
- data/lib/esi/api_error.rb +3 -3
- data/lib/esi/calls.rb +19 -611
- data/lib/esi/calls/alliances.rb +30 -0
- data/lib/esi/calls/base.rb +63 -0
- data/lib/esi/calls/characters.rb +144 -0
- data/lib/esi/calls/corporations.rb +102 -0
- data/lib/esi/calls/dogma.rb +29 -0
- data/lib/esi/calls/fittings.rb +20 -0
- data/lib/esi/calls/fleets.rb +23 -0
- data/lib/esi/calls/industry.rb +23 -0
- data/lib/esi/calls/info.rb +27 -0
- data/lib/esi/calls/killmails.rb +22 -0
- data/lib/esi/calls/markets.rb +57 -0
- data/lib/esi/calls/route.rb +11 -0
- data/lib/esi/calls/search.rb +14 -0
- data/lib/esi/calls/ui.rb +15 -0
- data/lib/esi/calls/universe.rb +96 -0
- data/lib/esi/client.rb +17 -14
- data/lib/esi/version.rb +1 -1
- metadata +19 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: fbc70e783ed11bfc5bc067cf0d195819a97654300ef948efa0ee0dfe808bbea3
|
|
4
|
+
data.tar.gz: fddd2c207b9252ab65cb20e2e97b98d3b2c6d4fa53fadb73aad17bada64d79b3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5a87bad611f8897e6ecbb073e4f8f17dedde3996ddf9293f918133459773e477dde1850a5c4039459ceb10a4ab2b557c75fcbe562c9cb5cd558e6d5b3d046d4f
|
|
7
|
+
data.tar.gz: eb14b1cffdd7f6f6a4c02c970834da709fa1e55c7e7d9cfee58099b47079b87d68d62fbe4d5123e9856cc41dbd690cc5a1780e1c0019ed8efb505fbed323196e
|
data/esi.gemspec
CHANGED
|
@@ -6,10 +6,15 @@ require 'esi/version'
|
|
|
6
6
|
|
|
7
7
|
Gem::Specification.new do |spec|
|
|
8
8
|
spec.name = 'esi'
|
|
9
|
-
spec.version = Esi::VERSION
|
|
10
9
|
spec.authors = ['Danny Hiemstra', 'Aaron Allen']
|
|
11
10
|
spec.email = ['dannyhiemstra@gmail.com', 'aaronmallen4@gmail.com']
|
|
12
11
|
|
|
12
|
+
# @note https://docs.travis-ci.com/user/deployment/rubygems/#Pre-releasing
|
|
13
|
+
# rubocop:disable Gemspec/DuplicatedAssignment
|
|
14
|
+
spec.version = Esi::VERSION
|
|
15
|
+
spec.version = "#{spec.version}-alpha-#{ENV['TRAVIS_BUILD_NUMBER']}" if ENV['TRAVIS']
|
|
16
|
+
# rubocop:enable Gemspec/DuplicatedAssignment
|
|
17
|
+
|
|
13
18
|
spec.summary = 'EVE ESI API wrapper'
|
|
14
19
|
spec.description = 'EVE ESI API wrapper'
|
|
15
20
|
spec.homepage = 'https://github.com/dhiemstra/esi'
|
data/lib/esi/api_error.rb
CHANGED
|
@@ -16,8 +16,8 @@ module Esi
|
|
|
16
16
|
attr_reader :response, :key, :message, :type, :original_exception
|
|
17
17
|
|
|
18
18
|
# Create a new instance of ApiError
|
|
19
|
-
# @param [Esi::Response] response the response that generated the exception
|
|
20
|
-
# @param [ExceptionClass|nil] the orginally raised exception
|
|
19
|
+
# @param response [Esi::Response] response the response that generated the exception
|
|
20
|
+
# @param original_exception [ExceptionClass|nil] the orginally raised exception
|
|
21
21
|
# @return [Esi::ApiError] an instance of ApiError
|
|
22
22
|
def initialize(response, original_exception = nil)
|
|
23
23
|
super(response.original_response)
|
|
@@ -38,7 +38,7 @@ module Esi
|
|
|
38
38
|
attr_reader :original_exception
|
|
39
39
|
|
|
40
40
|
# Create a new instance of ApiRequestError
|
|
41
|
-
# @param [ExceptionClass|nil] the orginally raised exception
|
|
41
|
+
# @param original_exception [ExceptionClass|nil] the orginally raised exception
|
|
42
42
|
# @return [Esi::ApiRequestError] the instance of ApiRequestError
|
|
43
43
|
def initialize(original_exception)
|
|
44
44
|
@original_exception = original_exception
|
data/lib/esi/calls.rb
CHANGED
|
@@ -1,620 +1,28 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require 'esi/calls/base'
|
|
4
|
+
require 'esi/calls/info'
|
|
5
|
+
require 'esi/calls/universe'
|
|
6
|
+
require 'esi/calls/dogma'
|
|
7
|
+
require 'esi/calls/characters'
|
|
8
|
+
require 'esi/calls/corporations'
|
|
9
|
+
require 'esi/calls/alliances'
|
|
10
|
+
require 'esi/calls/ui'
|
|
11
|
+
require 'esi/calls/search'
|
|
12
|
+
require 'esi/calls/route'
|
|
13
|
+
require 'esi/calls/industry'
|
|
14
|
+
require 'esi/calls/killmails'
|
|
15
|
+
require 'esi/calls/fleets'
|
|
16
|
+
|
|
3
17
|
module Esi
|
|
4
18
|
class Calls
|
|
5
19
|
class << self
|
|
20
|
+
# Generate a list with all available calls
|
|
21
|
+
#
|
|
22
|
+
# @return [Array<Symbol>] list of underscored call names
|
|
6
23
|
def list
|
|
7
|
-
constants.select { |c| Esi::Calls.const_get(c).try(:scope) }
|
|
8
|
-
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
class Info
|
|
12
|
-
attr_reader :name, :call
|
|
13
|
-
delegate :scope, :cache_duration, to: :call
|
|
14
|
-
|
|
15
|
-
def initialize(name)
|
|
16
|
-
@name = name.to_sym
|
|
17
|
-
@call = Calls.const_get(name.to_s.camelize)
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def to_s
|
|
21
|
-
@name.to_s
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def character?
|
|
25
|
-
name.to_s.starts_with?('character')
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
def corporation?
|
|
29
|
-
name.to_s.starts_with?('corporat')
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
class Base
|
|
34
|
-
CACHE_NAMESPACE = 'esi'
|
|
35
|
-
|
|
36
|
-
class_attribute :scope
|
|
37
|
-
class_attribute :cache_duration
|
|
38
|
-
|
|
39
|
-
attr_accessor :path, :params
|
|
40
|
-
|
|
41
|
-
def cache_key
|
|
42
|
-
@cache_key ||= begin
|
|
43
|
-
cache_args = [CACHE_NAMESPACE, path.gsub(%r{^\/}, ''), params.sort].flatten
|
|
44
|
-
ActiveSupport::Cache.expand_cache_key(cache_args)
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
def method
|
|
49
|
-
@method ||= :get
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
def url
|
|
53
|
-
Esi.generate_url(path, params)
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
def page=(page)
|
|
57
|
-
self.params ||= {}
|
|
58
|
-
self.params[:page] = page
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
def paginated?
|
|
62
|
-
!@paginated
|
|
63
|
-
end
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
class Regions < Base
|
|
67
|
-
def initialize
|
|
68
|
-
@path = '/universe/regions/'
|
|
69
|
-
end
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
class Region < Base
|
|
73
|
-
def initialize(region_id)
|
|
74
|
-
@path = "/universe/regions/#{region_id}"
|
|
75
|
-
end
|
|
76
|
-
end
|
|
77
|
-
|
|
78
|
-
class Constellations < Base
|
|
79
|
-
def initialize
|
|
80
|
-
@path = '/universe/constellations/'
|
|
81
|
-
end
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
class Constellation < Base
|
|
85
|
-
def initialize(constellation_id)
|
|
86
|
-
@path = "/universe/constellations/#{constellation_id}"
|
|
87
|
-
end
|
|
88
|
-
end
|
|
89
|
-
|
|
90
|
-
class SolarSystem < Base
|
|
91
|
-
def initialize(system_id)
|
|
92
|
-
@path = "/universe/systems/#{system_id}"
|
|
93
|
-
end
|
|
94
|
-
end
|
|
95
|
-
|
|
96
|
-
class SolarSystems < Base
|
|
97
|
-
def initialize
|
|
98
|
-
@path = '/universe/systems/'
|
|
99
|
-
end
|
|
100
|
-
end
|
|
101
|
-
|
|
102
|
-
class Star < Base
|
|
103
|
-
def initialize(star_id)
|
|
104
|
-
@path = "/universe/stars/#{star_id}"
|
|
105
|
-
end
|
|
106
|
-
end
|
|
107
|
-
|
|
108
|
-
class Planet < Base
|
|
109
|
-
def initialize(planet_id)
|
|
110
|
-
@path = "/universe/planets/#{planet_id}"
|
|
111
|
-
end
|
|
112
|
-
end
|
|
113
|
-
|
|
114
|
-
class Moon < Base
|
|
115
|
-
def initialize(moon_id)
|
|
116
|
-
@path = "/universe/moons/#{moon_id}"
|
|
117
|
-
end
|
|
118
|
-
end
|
|
119
|
-
|
|
120
|
-
class Stargate < Base
|
|
121
|
-
def initialize(stargate_id)
|
|
122
|
-
@path = "/universe/stargates/#{stargate_id}"
|
|
123
|
-
end
|
|
124
|
-
end
|
|
125
|
-
|
|
126
|
-
class Station < Base
|
|
127
|
-
def initialize(station_id)
|
|
128
|
-
@path = "/universe/stations/#{station_id}"
|
|
129
|
-
end
|
|
130
|
-
end
|
|
131
|
-
|
|
132
|
-
class Structures < Base
|
|
133
|
-
def initialize
|
|
134
|
-
@path = '/universe/structures/'
|
|
135
|
-
end
|
|
136
|
-
end
|
|
137
|
-
|
|
138
|
-
class Structure < Base
|
|
139
|
-
def initialize(structure_id)
|
|
140
|
-
@path = "universe/structures/#{structure_id}"
|
|
141
|
-
end
|
|
142
|
-
end
|
|
143
|
-
|
|
144
|
-
class Types < Base
|
|
145
|
-
def initialize
|
|
146
|
-
@path = '/universe/types'
|
|
147
|
-
@paginated = true
|
|
148
|
-
end
|
|
149
|
-
end
|
|
150
|
-
|
|
151
|
-
class Type < Base
|
|
152
|
-
def initialize(type_id)
|
|
153
|
-
@path = "/universe/types/#{type_id}"
|
|
154
|
-
end
|
|
155
|
-
end
|
|
156
|
-
|
|
157
|
-
class DogmaAttributes < Base
|
|
158
|
-
def initialize
|
|
159
|
-
@path = '/dogma/attributes/'
|
|
160
|
-
end
|
|
161
|
-
end
|
|
162
|
-
|
|
163
|
-
class DogmaAttribute < Base
|
|
164
|
-
def initialize(attribute_id)
|
|
165
|
-
@path = "/dogma/attributes/#{attribute_id}"
|
|
166
|
-
end
|
|
167
|
-
end
|
|
168
|
-
|
|
169
|
-
class DogmaEffects < Base
|
|
170
|
-
def initialize
|
|
171
|
-
@path = '/dogma/effects/'
|
|
172
|
-
end
|
|
173
|
-
end
|
|
174
|
-
|
|
175
|
-
class DogmaEffect < Base
|
|
176
|
-
def initialize(effect_id)
|
|
177
|
-
@path = "/dogma/effects/#{effect_id}"
|
|
178
|
-
end
|
|
179
|
-
end
|
|
180
|
-
|
|
181
|
-
class IndustryFacilities < Base
|
|
182
|
-
self.scope = nil
|
|
183
|
-
self.cache_duration = 3600
|
|
184
|
-
|
|
185
|
-
def initialize
|
|
186
|
-
@path = '/industry/facilities'
|
|
187
|
-
end
|
|
188
|
-
end
|
|
189
|
-
|
|
190
|
-
class IndustrySystems < Base
|
|
191
|
-
self.scope = nil
|
|
192
|
-
self.cache_duration = 3600
|
|
193
|
-
|
|
194
|
-
def initialize
|
|
195
|
-
@path = '/industry/systems'
|
|
196
|
-
end
|
|
197
|
-
end
|
|
198
|
-
|
|
199
|
-
class Search < Base
|
|
200
|
-
self.scope = nil
|
|
201
|
-
# https://esi.tech.ccp.is/latest/characters/907452336/search/?categories=structure&datasource=tranquility&search=Kamela&strict=false&token=Fp3ThF7wjvYBIDIIrtWE_Ryjt9BhYwUP75y2EL5Eq9mHPm8tYt9I9NwgZz8o26FFQBKoUToh2DYVc-Q5Ws400g2
|
|
202
|
-
|
|
203
|
-
def initialize(character_id: nil, categories:, search:, strict: false)
|
|
204
|
-
@path = (character_id ? "/characters/#{character_id}" : '') + '/search'
|
|
205
|
-
@params = { categories: categories, search: search, strict: strict }
|
|
206
|
-
end
|
|
207
|
-
end
|
|
208
|
-
|
|
209
|
-
class StructureOrders < Base
|
|
210
|
-
def initialize(structure_id:)
|
|
211
|
-
@path = "/markets/structures/#{structure_id}"
|
|
212
|
-
@paginated = true
|
|
213
|
-
end
|
|
214
|
-
end
|
|
215
|
-
|
|
216
|
-
class CharacterNames < Base
|
|
217
|
-
self.cache_duration = 3600
|
|
218
|
-
|
|
219
|
-
def initialize(character_ids)
|
|
220
|
-
@path = '/characters/names'
|
|
221
|
-
@params = { character_ids: character_ids.join(',') }
|
|
222
|
-
end
|
|
223
|
-
end
|
|
224
|
-
|
|
225
|
-
class Character < Base
|
|
226
|
-
self.cache_duration = 3600
|
|
227
|
-
|
|
228
|
-
def initialize(character_id)
|
|
229
|
-
@path = "/characters/#{character_id}"
|
|
230
|
-
end
|
|
231
|
-
end
|
|
232
|
-
|
|
233
|
-
# Cache: 2 minutes
|
|
234
|
-
class CharacterWallet < Base
|
|
235
|
-
self.scope = 'esi-wallet.read_character_wallet.v1'
|
|
236
|
-
self.cache_duration = 120
|
|
237
|
-
|
|
238
|
-
def initialize(character_id)
|
|
239
|
-
@path = "/characters/#{character_id}/wallet"
|
|
240
|
-
end
|
|
241
|
-
end
|
|
242
|
-
|
|
243
|
-
class CharacterSkills < Base
|
|
244
|
-
self.scope = 'esi-skills.read_skills.v1'
|
|
245
|
-
self.cache_duration = 120
|
|
246
|
-
|
|
247
|
-
def initialize(character_id)
|
|
248
|
-
@path = "/characters/#{character_id}/skills"
|
|
249
|
-
end
|
|
250
|
-
end
|
|
251
|
-
|
|
252
|
-
class CharacterWalletJournal < Base
|
|
253
|
-
self.scope = 'esi-wallet.read_character_wallet.v1'
|
|
254
|
-
self.cache_duration = 3600
|
|
255
|
-
|
|
256
|
-
def initialize(character_id)
|
|
257
|
-
@path = "/characters/#{character_id}/wallet/journal"
|
|
258
|
-
end
|
|
259
|
-
end
|
|
260
|
-
|
|
261
|
-
class CharacterWalletTransactions < Base
|
|
262
|
-
self.scope = 'esi-wallet.read_character_wallet.v1'
|
|
263
|
-
self.cache_duration = 3600
|
|
264
|
-
|
|
265
|
-
def initialize(character_id)
|
|
266
|
-
@path = "/characters/#{character_id}/wallet/transactions"
|
|
267
|
-
end
|
|
268
|
-
end
|
|
269
|
-
|
|
270
|
-
class CharacterOrders < Base
|
|
271
|
-
self.scope = 'esi-markets.read_character_orders.v1'
|
|
272
|
-
self.cache_duration = 3600
|
|
273
|
-
|
|
274
|
-
def initialize(character_id)
|
|
275
|
-
@path = "/characters/#{character_id}/orders"
|
|
276
|
-
end
|
|
277
|
-
end
|
|
278
|
-
|
|
279
|
-
#################################
|
|
280
|
-
### IndustryJobs
|
|
281
|
-
#################################
|
|
282
|
-
class CharacterIndustryJobs < Base
|
|
283
|
-
self.scope = 'esi-industry.read_character_jobs.v1'
|
|
284
|
-
self.cache_duration = 300
|
|
285
|
-
|
|
286
|
-
def initialize(character_id, with_completed: true)
|
|
287
|
-
@path = "/characters/#{character_id}/industry/jobs"
|
|
288
|
-
@params = { include_completed: with_completed }
|
|
289
|
-
end
|
|
290
|
-
end
|
|
291
|
-
|
|
292
|
-
class CorporationIndustryJobs < Base
|
|
293
|
-
self.scope = 'esi-industry.read_corporation_jobs.v1'
|
|
294
|
-
self.cache_duration = 300
|
|
295
|
-
|
|
296
|
-
def initialize(corporation_id, with_completed: true)
|
|
297
|
-
@path = "/corporations/#{corporation_id}/industry/jobs"
|
|
298
|
-
@params = { include_completed: with_completed }
|
|
299
|
-
end
|
|
300
|
-
end
|
|
301
|
-
|
|
302
|
-
#################################
|
|
303
|
-
### Blueprints
|
|
304
|
-
#################################
|
|
305
|
-
class CharacterBlueprints < Base
|
|
306
|
-
self.scope = 'esi-characters.read_blueprints.v1'
|
|
307
|
-
self.cache_duration = 3600
|
|
308
|
-
|
|
309
|
-
def initialize(character_id)
|
|
310
|
-
@path = "/characters/#{character_id}/blueprints"
|
|
311
|
-
end
|
|
312
|
-
end
|
|
313
|
-
|
|
314
|
-
class CorporationBlueprints < Base
|
|
315
|
-
self.scope = 'esi-corporations.read_blueprints.v1'
|
|
316
|
-
self.cache_duration = 3600
|
|
317
|
-
|
|
318
|
-
def initialize(corporation_id)
|
|
319
|
-
@path = "/corporations/#{corporation_id}/blueprints"
|
|
320
|
-
end
|
|
321
|
-
end
|
|
322
|
-
|
|
323
|
-
#################################
|
|
324
|
-
### Assets
|
|
325
|
-
#################################
|
|
326
|
-
class CharacterAssets < Base
|
|
327
|
-
self.scope = 'esi-assets.read_assets.v1'
|
|
328
|
-
self.cache_duration = 3600
|
|
329
|
-
|
|
330
|
-
def initialize(character_id)
|
|
331
|
-
@path = "/characters/#{character_id}/assets"
|
|
332
|
-
@paginated = true
|
|
333
|
-
end
|
|
334
|
-
end
|
|
335
|
-
|
|
336
|
-
class CorporationAssets < Base
|
|
337
|
-
self.scope = 'esi-assets.read_corporation_assets.v1'
|
|
338
|
-
self.cache_duration = 3600
|
|
339
|
-
|
|
340
|
-
def initialize(corporation_id)
|
|
341
|
-
@path = "/corporations/#{corporation_id}/assets"
|
|
342
|
-
@paginated = true
|
|
343
|
-
end
|
|
344
|
-
end
|
|
345
|
-
|
|
346
|
-
#################################
|
|
347
|
-
### Contracts
|
|
348
|
-
#################################
|
|
349
|
-
class CharacterContracts < Base
|
|
350
|
-
self.scope = 'esi-contracts.read_character_contracts.v1'
|
|
351
|
-
self.cache_duration = 3600
|
|
352
|
-
|
|
353
|
-
def initialize(character_id)
|
|
354
|
-
@path = "/characters/#{character_id}/contracts"
|
|
355
|
-
end
|
|
356
|
-
end
|
|
357
|
-
|
|
358
|
-
class ContractItems < Base
|
|
359
|
-
self.scope = 'esi-contracts.read_character_contracts.v1'
|
|
360
|
-
self.cache_duration = 3600
|
|
361
|
-
|
|
362
|
-
def initialize(character_id, contract_id)
|
|
363
|
-
@path = "/characters/#{character_id}/contracts/#{contract_id}/items"
|
|
364
|
-
end
|
|
365
|
-
end
|
|
366
|
-
|
|
367
|
-
class CharacterLocation < Base
|
|
368
|
-
self.scope = 'esi-location.read_location.v1'
|
|
369
|
-
self.cache_duration = 5
|
|
370
|
-
|
|
371
|
-
def initialize(character_id)
|
|
372
|
-
@path = "/characters/#{character_id}/location"
|
|
373
|
-
end
|
|
374
|
-
end
|
|
375
|
-
|
|
376
|
-
# characters/{character_id}/online
|
|
377
|
-
# esi-location.read_online.v1
|
|
378
|
-
# 60
|
|
379
|
-
|
|
380
|
-
# /characters/{character_id}/attributes
|
|
381
|
-
# esi-skills.read_skills.v1
|
|
382
|
-
# 3600
|
|
383
|
-
|
|
384
|
-
# /characters/{character_id}/chat_channels
|
|
385
|
-
# esi-characters.read_chat_channels.v1
|
|
386
|
-
# 300
|
|
387
|
-
|
|
388
|
-
# /characters/{character_id}/clones
|
|
389
|
-
# esi-clones.read_clones.v1
|
|
390
|
-
# 120
|
|
391
|
-
|
|
392
|
-
# /characters/{character_id}/implants
|
|
393
|
-
# esi-clones.read_implants.v1
|
|
394
|
-
# 3600
|
|
395
|
-
|
|
396
|
-
# /characters/{character_id}/roles
|
|
397
|
-
# esi-characters.read_corporation_roles.v1
|
|
398
|
-
# 3600
|
|
399
|
-
|
|
400
|
-
class CharacterMail < Base
|
|
401
|
-
self.scope = 'esi-mail.read_mail.v1'
|
|
402
|
-
self.cache_duration = 30
|
|
403
|
-
|
|
404
|
-
def initialize(character_id)
|
|
405
|
-
@path = "/characters/#{character_id}/mail"
|
|
406
|
-
end
|
|
407
|
-
end
|
|
408
|
-
|
|
409
|
-
class Assets < Base
|
|
410
|
-
self.scope = 'esi-assets.read_assets.v1'
|
|
411
|
-
self.cache_duration = 3600
|
|
412
|
-
|
|
413
|
-
def initialize(character_id)
|
|
414
|
-
@path = "/characters/#{character_id}/assets"
|
|
415
|
-
end
|
|
416
|
-
end
|
|
417
|
-
|
|
418
|
-
class Alliances < Base
|
|
419
|
-
self.cache_duration = 3600
|
|
420
|
-
|
|
421
|
-
def initialize
|
|
422
|
-
@path = '/alliances'
|
|
423
|
-
end
|
|
424
|
-
end
|
|
425
|
-
|
|
426
|
-
class AllianceNames < Base
|
|
427
|
-
self.cache_duration = 3600
|
|
428
|
-
|
|
429
|
-
def initialize(alliance_ids)
|
|
430
|
-
@path = '/alliances/names'
|
|
431
|
-
@params = { alliance_ids: alliance_ids.join(',') }
|
|
432
|
-
end
|
|
433
|
-
end
|
|
434
|
-
|
|
435
|
-
class Alliance < Base
|
|
436
|
-
self.cache_duration = 3600
|
|
437
|
-
|
|
438
|
-
def initialize(alliance_id)
|
|
439
|
-
@path = "/alliances/#{alliance_id}"
|
|
440
|
-
end
|
|
441
|
-
end
|
|
442
|
-
|
|
443
|
-
class CorporationNames < Base
|
|
444
|
-
self.cache_duration = 3600
|
|
445
|
-
|
|
446
|
-
def initialize(corporation_ids)
|
|
447
|
-
@path = '/corporations/names'
|
|
448
|
-
@params = { corporation_ids: corporation_ids.join(',') }
|
|
449
|
-
end
|
|
450
|
-
end
|
|
451
|
-
|
|
452
|
-
class Corporation < Base
|
|
453
|
-
self.cache_duration = 3600
|
|
454
|
-
|
|
455
|
-
def initialize(corporation_id)
|
|
456
|
-
@path = "/corporations/#{corporation_id}"
|
|
457
|
-
end
|
|
458
|
-
end
|
|
459
|
-
|
|
460
|
-
class CorporationStructures < Base
|
|
461
|
-
self.scope = 'esi-corporations.read_structures.v1'
|
|
462
|
-
self.cache_duration = 3600
|
|
463
|
-
|
|
464
|
-
def initialize(corporation_id)
|
|
465
|
-
@path = "/corporations/#{corporation_id}/structures"
|
|
466
|
-
end
|
|
467
|
-
end
|
|
468
|
-
|
|
469
|
-
class CorporationMembers < Base
|
|
470
|
-
self.scope = 'esi-corporations.read_corporation_membership.v1'
|
|
471
|
-
self.cache_duration = 3600
|
|
472
|
-
|
|
473
|
-
def initialize(corporation_id)
|
|
474
|
-
@path = "/corporations/#{corporation_id}/members"
|
|
475
|
-
end
|
|
476
|
-
end
|
|
477
|
-
|
|
478
|
-
class CorporationMemberTracking < Base
|
|
479
|
-
self.scope = 'esi-corporations.track_members.v1'
|
|
480
|
-
self.cache_duration = 3600
|
|
481
|
-
|
|
482
|
-
def initialize(corporation_id)
|
|
483
|
-
@path = "/corporations/#{corporation_id}/membertracking"
|
|
484
|
-
end
|
|
485
|
-
end
|
|
486
|
-
|
|
487
|
-
# Link: https://esi.tech.ccp.is/dev/#!/Corporation/get_corporations_corporation_id_roles
|
|
488
|
-
class CorporationRoles < Base
|
|
489
|
-
self.scope = 'esi-corporations.read_corporation_membership.v1'
|
|
490
|
-
self.cache_duration = 3600
|
|
491
|
-
|
|
492
|
-
def initialize(corporation_id)
|
|
493
|
-
@path = "/corporations/#{corporation_id}/roles"
|
|
494
|
-
end
|
|
495
|
-
end
|
|
496
|
-
|
|
497
|
-
class CorporationWallet < Base
|
|
498
|
-
self.scope = 'esi-wallet.read_corporation_wallet.v1'
|
|
499
|
-
self.cache_duration = 120
|
|
500
|
-
|
|
501
|
-
def initialize(corporation_id)
|
|
502
|
-
@path = "/corporations/#{corporation_id}/wallets"
|
|
503
|
-
end
|
|
504
|
-
end
|
|
505
|
-
|
|
506
|
-
class CorporationWallets < Base
|
|
507
|
-
self.scope = 'esi-wallet.read_corporation_wallets.v1'
|
|
508
|
-
self.cache_duration = 300
|
|
509
|
-
end
|
|
510
|
-
|
|
511
|
-
class Route < Base
|
|
512
|
-
def initialize(origin_id, destination_id)
|
|
513
|
-
@path = "/route/#{origin_id}/#{destination_id}"
|
|
514
|
-
end
|
|
515
|
-
end
|
|
516
|
-
|
|
517
|
-
class MarketHistory < Base
|
|
518
|
-
def initialize(region_id:, type_id:)
|
|
519
|
-
@path = "/markets/#{region_id}/history"
|
|
520
|
-
@params = { type_id: type_id }
|
|
521
|
-
end
|
|
522
|
-
end
|
|
523
|
-
|
|
524
|
-
class MarketTypes < Base
|
|
525
|
-
self.scope = nil
|
|
526
|
-
self.cache_duration = 600
|
|
527
|
-
|
|
528
|
-
def initialize(region_id:)
|
|
529
|
-
@path = "/markets/#{region_id}/types"
|
|
530
|
-
@paginated = true
|
|
531
|
-
end
|
|
532
|
-
end
|
|
533
|
-
|
|
534
|
-
class MarketGroups < Base
|
|
535
|
-
def initialize
|
|
536
|
-
@path = '/markets/groups'
|
|
537
|
-
@paginated = true
|
|
538
|
-
end
|
|
539
|
-
end
|
|
540
|
-
|
|
541
|
-
class MarketGroup < Base
|
|
542
|
-
def initialize(id)
|
|
543
|
-
@path = "/markets/groups/#{id}"
|
|
544
|
-
end
|
|
545
|
-
end
|
|
546
|
-
|
|
547
|
-
class MarketPrices < Base
|
|
548
|
-
def initialize
|
|
549
|
-
@path = '/markets/prices'
|
|
550
|
-
end
|
|
551
|
-
end
|
|
552
|
-
|
|
553
|
-
class MarketOrders < Base
|
|
554
|
-
def initialize(region_id:, type_id: nil)
|
|
555
|
-
@path = "/markets/#{region_id}/orders"
|
|
556
|
-
@params = { order_type: :all }
|
|
557
|
-
@params[:type_id] = type_id if type_id.present?
|
|
558
|
-
@paginated = type_id.blank?
|
|
559
|
-
end
|
|
560
|
-
end
|
|
561
|
-
|
|
562
|
-
class Killmails < Base
|
|
563
|
-
self.scope = 'esi-killmails.read_killmails.v1'
|
|
564
|
-
|
|
565
|
-
def initialize(character_id:, max_count: 50, max_kill_id: nil)
|
|
566
|
-
@path = "/characters/#{character_id}/killmails/recent"
|
|
567
|
-
@params = { max_count: max_count }
|
|
568
|
-
@params[:max_kill_id] = max_kill_id if max_kill_id
|
|
569
|
-
end
|
|
570
|
-
end
|
|
571
|
-
|
|
572
|
-
class Killmail < Base
|
|
573
|
-
def initialize(id:, hash:)
|
|
574
|
-
@path = "killmails/#{id}/#{hash}"
|
|
575
|
-
end
|
|
576
|
-
end
|
|
577
|
-
|
|
578
|
-
class Fleet < Base
|
|
579
|
-
def initialize(fleet_id)
|
|
580
|
-
@path = "fleets/#{fleet_id}"
|
|
581
|
-
end
|
|
582
|
-
end
|
|
583
|
-
|
|
584
|
-
class FleetMembers < Base
|
|
585
|
-
def initialize(fleet_id)
|
|
586
|
-
@path = "fleets/#{fleet_id}/members"
|
|
587
|
-
end
|
|
588
|
-
end
|
|
589
|
-
|
|
590
|
-
class FleetWings < Base
|
|
591
|
-
def initialize(fleet_id)
|
|
592
|
-
@path = "fleets/#{fleet_id}/wings"
|
|
593
|
-
end
|
|
594
|
-
end
|
|
595
|
-
|
|
596
|
-
class Fittings < Base
|
|
597
|
-
self.scope = 'esi-fittings.read_fittings.v1'
|
|
598
|
-
|
|
599
|
-
def initialize(character_id)
|
|
600
|
-
@path = "characters/#{character_id}/fittings"
|
|
601
|
-
end
|
|
602
|
-
end
|
|
603
|
-
|
|
604
|
-
class DeleteFitting < Base
|
|
605
|
-
def initialize(character_id, fitting_id)
|
|
606
|
-
@path = "characters/#{character_id}/fittings/#{fitting_id}"
|
|
607
|
-
@method = :delete
|
|
608
|
-
end
|
|
609
|
-
end
|
|
610
|
-
|
|
611
|
-
class OpenMarketDetails < Base
|
|
612
|
-
self.scope = 'esi-ui.open_window.v1'
|
|
613
|
-
|
|
614
|
-
def initialize(type_id)
|
|
615
|
-
@path = '/ui/openwindow/marketdetails'
|
|
616
|
-
@method = :post
|
|
617
|
-
@params = { type_id: type_id }
|
|
24
|
+
@list ||= constants.select { |c| Esi::Calls.const_get(c).try(:scope) }
|
|
25
|
+
.map { |c| c.to_s.underscore.to_sym }
|
|
618
26
|
end
|
|
619
27
|
end
|
|
620
28
|
end
|