eve_online 0.24.0 → 0.25.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 63f18b7165f625908db58cebbc9ebaa15b026cc5a0841cf443a8749f588112dd
4
- data.tar.gz: 5808d20b3e10be75d73b756b4a32574a4f68dcebedb7782752225391e49d1040
3
+ metadata.gz: 4cf2ec48048ec528132dde02a38264dd5cd4016a9f922f4dc26bcf7d1f4f73ba
4
+ data.tar.gz: 9a9e616de22668ed2b4114a5531b24633edfc96987e9d0dd349bf8a19db59c8d
5
5
  SHA512:
6
- metadata.gz: 2f7350038b2d81059ba064e68a8036438716947ba2f51b520bdd244ba8f2635278cf78bad8776205e59f13cf96d4242b66380211d23ef3af2a0bbcccf1129cf4
7
- data.tar.gz: 36c7e707c931ebc095cae90a89c4d68ebd16b0f4f7cd1fd4c06d7c37772397f6edd42329cf4a82992bc84e6931fd82ca08600d04882559a773445a034d4d4cef
6
+ metadata.gz: c9c16ff0283e5db41e4c56f36d0c5e5627e3af6c24bd86e87f397e2d77ac58057c44d84626aac9984635b1843b6720bbde8bd0064ec0fe0994824e5a31fdaa82
7
+ data.tar.gz: a357b8bbde81d5ef77340206fa301a4c970733437903b8955fc9d4f484479e8730f180f7ba8afe03fd6abe75e0ab20d098eaf72517fb86019869ec1b82594eeb
data/.rubocop.yml CHANGED
@@ -1,5 +1,6 @@
1
1
  require: rubocop-thread_safety
2
2
  require: rubocop-rspec
3
+ require: rubocop-performance
3
4
 
4
5
  inherit_from:
5
6
  - .rubocop_general.yml
data/.rubocop_general.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.3
2
+ TargetRubyVersion: 2.4
3
3
  DisplayStyleGuide: true
4
4
 
5
5
  Layout/EndOfLine:
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.6.1
1
+ 2.6.3
data/.travis.yml CHANGED
@@ -2,10 +2,9 @@ language: ruby
2
2
  sudo: false
3
3
  cache: bundler
4
4
  rvm:
5
- - 2.3.8
6
- - 2.4.5
7
- - 2.5.3
8
- - 2.6.1
5
+ - 2.4.6
6
+ - 2.5.5
7
+ - 2.6.3
9
8
  - ruby-head
10
9
 
11
10
  gemfile:
@@ -23,28 +22,26 @@ matrix:
23
22
  exclude:
24
23
  - rvm: ruby-head
25
24
  gemfile: gemfiles/activesupport_42.gemfile
26
- - rvm: 2.6.1
25
+ - rvm: 2.6.3
27
26
  gemfile: gemfiles/activesupport_42.gemfile
28
- - rvm: 2.5.3
27
+ - rvm: 2.5.5
29
28
  gemfile: gemfiles/activesupport_42.gemfile
30
- - rvm: 2.3.8
31
- gemfile: gemfiles/activesupport_edge.gemfile
32
- - rvm: 2.4.5
29
+ - rvm: 2.4.6
33
30
  gemfile: gemfiles/activesupport_edge.gemfile
34
31
  include:
35
- - rvm: jruby-9.2.6.0
32
+ - rvm: jruby-9.2.7.0
36
33
  gemfile: gemfiles/activesupport_42.gemfile
37
34
  jdk: oraclejdk8
38
35
  env: JRUBY_OPTS='--debug' # get more accurate coverage data
39
- - rvm: jruby-9.2.6.0
36
+ - rvm: jruby-9.2.7.0
40
37
  gemfile: gemfiles/activesupport_50.gemfile
41
38
  jdk: oraclejdk8
42
39
  env: JRUBY_OPTS='--debug' # get more accurate coverage data
43
- - rvm: jruby-9.2.6.0
40
+ - rvm: jruby-9.2.7.0
44
41
  gemfile: gemfiles/activesupport_51.gemfile
45
42
  jdk: oraclejdk8
46
43
  env: JRUBY_OPTS='--debug' # get more accurate coverage data
47
- - rvm: jruby-9.2.6.0
44
+ - rvm: jruby-9.2.7.0
48
45
  gemfile: gemfiles/activesupport_52.gemfile
49
46
  jdk: oraclejdk8
50
47
  env: JRUBY_OPTS='--debug' # get more accurate coverage data
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.25.0
4
+
5
+ * `EveOnline::ESI::CharacterAssetsLocations#etag` raise `NotImplementedError` from now
6
+ * `EveOnline::ESI::CharacterAssetsNames#etag` raise `NotImplementedError` from now
7
+ * Add corporation roles support
8
+ * Add `EveOnline::ESI::CorporationAssets`
9
+ * Add `EveOnline::ESI::CorporationAssetsLocations`
10
+ * Add `EveOnline::ESI::CorporationAssetsNames`
11
+ * Drop ruby 2.3 support
12
+ * `EveOnline::ESI::Base#not_modified?` handle timeout exceptions
13
+ * Rescue `Net::WriteTimeout` too
14
+
3
15
  ## v0.24.0
4
16
 
5
17
  * Remove `implants` from `EveOnline::ESI::Models::JumpClone#as_json`
data/Gemfile CHANGED
@@ -10,3 +10,5 @@ gem 'awesome_print', require: 'ap'
10
10
  gem 'pry'
11
11
  gem 'rubocop', require: false
12
12
  gem 'rubocop-rspec', require: false
13
+ gem 'rubocop-performance', require: false
14
+ gem 'fasterer', require: false
data/Gemfile.lock CHANGED
@@ -1,13 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- eve_online (0.24.0)
4
+ eve_online (0.25.0)
5
5
  activesupport (>= 4.2.0)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- activesupport (5.2.2)
10
+ activesupport (5.2.3)
11
11
  concurrent-ruby (~> 1.0, >= 1.0.2)
12
12
  i18n (>= 0.7, < 2)
13
13
  minitest (~> 5.1)
@@ -17,16 +17,20 @@ GEM
17
17
  ast (2.4.0)
18
18
  awesome_print (1.8.0)
19
19
  coderay (1.1.2)
20
- concurrent-ruby (1.1.4)
20
+ colorize (0.8.1)
21
+ concurrent-ruby (1.1.5)
21
22
  crack (0.4.3)
22
23
  safe_yaml (~> 1.0.0)
23
24
  diff-lcs (1.3)
24
25
  docile (1.3.1)
25
- hashdiff (0.3.8)
26
- i18n (1.5.3)
26
+ fasterer (0.5.1)
27
+ colorize (~> 0.7)
28
+ ruby_parser (>= 3.13.0)
29
+ hashdiff (0.3.9)
30
+ i18n (1.6.0)
27
31
  concurrent-ruby (~> 1.0)
28
32
  jaro_winkler (1.5.2)
29
- json (2.1.0)
33
+ json (2.2.0)
30
34
  kramdown (1.17.0)
31
35
  mdl (0.5.0)
32
36
  kramdown (~> 1.12, >= 1.12.0)
@@ -38,12 +42,11 @@ GEM
38
42
  mixlib-cli (1.7.0)
39
43
  mixlib-config (2.2.18)
40
44
  tomlrb
41
- nokogiri (1.10.1)
45
+ nokogiri (1.10.3)
42
46
  mini_portile2 (~> 2.4.0)
43
- parallel (1.13.0)
44
- parser (2.6.0.0)
47
+ parallel (1.17.0)
48
+ parser (2.6.3.0)
45
49
  ast (~> 2.4.0)
46
- powerpack (0.1.2)
47
50
  pry (0.12.2)
48
51
  coderay (~> 1.1.0)
49
52
  method_source (~> 0.9.0)
@@ -56,28 +59,32 @@ GEM
56
59
  rspec-mocks (~> 3.8.0)
57
60
  rspec-core (3.8.0)
58
61
  rspec-support (~> 3.8.0)
59
- rspec-expectations (3.8.2)
62
+ rspec-expectations (3.8.3)
60
63
  diff-lcs (>= 1.2.0, < 2.0)
61
64
  rspec-support (~> 3.8.0)
62
- rspec-its (1.2.0)
65
+ rspec-its (1.3.0)
63
66
  rspec-core (>= 3.0.0)
64
67
  rspec-expectations (>= 3.0.0)
65
68
  rspec-mocks (3.8.0)
66
69
  diff-lcs (>= 1.2.0, < 2.0)
67
70
  rspec-support (~> 3.8.0)
68
71
  rspec-support (3.8.0)
69
- rubocop (0.64.0)
72
+ rubocop (0.68.1)
70
73
  jaro_winkler (~> 1.5.1)
71
74
  parallel (~> 1.10)
72
75
  parser (>= 2.5, != 2.5.1.1)
73
- powerpack (~> 0.1)
74
76
  rainbow (>= 2.2.2, < 4.0)
75
77
  ruby-progressbar (~> 1.7)
76
- unicode-display_width (~> 1.4.0)
78
+ unicode-display_width (>= 1.4.0, < 1.6)
79
+ rubocop-performance (1.2.0)
80
+ rubocop (>= 0.68.0)
77
81
  rubocop-rspec (1.32.0)
78
82
  rubocop (>= 0.60.0)
79
83
  ruby-progressbar (1.10.0)
80
- safe_yaml (1.0.4)
84
+ ruby_parser (3.13.1)
85
+ sexp_processor (~> 4.9)
86
+ safe_yaml (1.0.5)
87
+ sexp_processor (4.12.0)
81
88
  simplecov (0.16.1)
82
89
  docile (~> 1.1)
83
90
  json (>= 1.8, < 3)
@@ -87,7 +94,7 @@ GEM
87
94
  tomlrb (1.2.8)
88
95
  tzinfo (1.2.5)
89
96
  thread_safe (~> 0.1)
90
- unicode-display_width (1.4.1)
97
+ unicode-display_width (1.5.0)
91
98
  vcr (4.0.0)
92
99
  webmock (3.5.1)
93
100
  addressable (>= 2.3.6)
@@ -101,6 +108,7 @@ DEPENDENCIES
101
108
  awesome_print
102
109
  bundler
103
110
  eve_online!
111
+ fasterer
104
112
  mdl
105
113
  nokogiri
106
114
  pry
@@ -108,10 +116,11 @@ DEPENDENCIES
108
116
  rspec
109
117
  rspec-its
110
118
  rubocop
119
+ rubocop-performance
111
120
  rubocop-rspec
112
121
  simplecov
113
122
  vcr
114
123
  webmock
115
124
 
116
125
  BUNDLED WITH
117
- 1.17.3
126
+ 2.0.1
data/Gemfile.mutant.lock CHANGED
@@ -1,14 +1,14 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- eve_online (0.24.0)
4
+ eve_online (0.25.0)
5
5
  activesupport (>= 4.2.0)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
10
  abstract_type (0.0.7)
11
- activesupport (5.2.2)
11
+ activesupport (5.2.3)
12
12
  concurrent-ruby (~> 1.0, >= 1.0.2)
13
13
  i18n (>= 0.7, < 2)
14
14
  minitest (~> 5.1)
@@ -26,17 +26,17 @@ GEM
26
26
  concord (0.1.5)
27
27
  adamantium (~> 0.2.0)
28
28
  equalizer (~> 0.0.9)
29
- concurrent-ruby (1.1.4)
29
+ concurrent-ruby (1.1.5)
30
30
  crack (0.4.3)
31
31
  safe_yaml (~> 1.0.0)
32
32
  diff-lcs (1.3)
33
33
  docile (1.3.1)
34
34
  equalizer (0.0.11)
35
- hashdiff (0.3.8)
36
- i18n (1.5.3)
35
+ hashdiff (0.3.9)
36
+ i18n (1.6.0)
37
37
  concurrent-ruby (~> 1.0)
38
38
  ice_nine (0.11.2)
39
- json (2.1.0)
39
+ json (2.2.0)
40
40
  kramdown (1.17.0)
41
41
  mdl (0.5.0)
42
42
  kramdown (~> 1.12, >= 1.12.0)
@@ -76,31 +76,31 @@ GEM
76
76
  mutant-rspec (0.8.24)
77
77
  mutant (~> 0.8.24)
78
78
  rspec-core (>= 3.4.0, < 4.0.0)
79
- nokogiri (1.10.1)
79
+ nokogiri (1.10.3)
80
80
  mini_portile2 (~> 2.4.0)
81
81
  parser (2.5.3.0)
82
82
  ast (~> 2.4.0)
83
83
  procto (0.0.3)
84
84
  public_suffix (3.0.3)
85
85
  rake (12.3.2)
86
- regexp_parser (1.3.0)
86
+ regexp_parser (1.4.0)
87
87
  rspec (3.8.0)
88
88
  rspec-core (~> 3.8.0)
89
89
  rspec-expectations (~> 3.8.0)
90
90
  rspec-mocks (~> 3.8.0)
91
91
  rspec-core (3.8.0)
92
92
  rspec-support (~> 3.8.0)
93
- rspec-expectations (3.8.2)
93
+ rspec-expectations (3.8.3)
94
94
  diff-lcs (>= 1.2.0, < 2.0)
95
95
  rspec-support (~> 3.8.0)
96
- rspec-its (1.2.0)
96
+ rspec-its (1.3.0)
97
97
  rspec-core (>= 3.0.0)
98
98
  rspec-expectations (>= 3.0.0)
99
99
  rspec-mocks (3.8.0)
100
100
  diff-lcs (>= 1.2.0, < 2.0)
101
101
  rspec-support (~> 3.8.0)
102
102
  rspec-support (3.8.0)
103
- safe_yaml (1.0.4)
103
+ safe_yaml (1.0.5)
104
104
  simplecov (0.16.1)
105
105
  docile (~> 1.1)
106
106
  json (>= 1.8, < 3)
@@ -142,4 +142,4 @@ DEPENDENCIES
142
142
  webmock
143
143
 
144
144
  BUNDLED WITH
145
- 1.17.3
145
+ 2.0.1
data/README.md CHANGED
@@ -46,12 +46,11 @@ gem install eve_online
46
46
 
47
47
  ## Supported ruby versions
48
48
 
49
- * MRI 2.3
50
49
  * MRI 2.4
51
50
  * MRI 2.5
52
51
  * MRI 2.6
53
52
  * MRI (head)
54
- * JRuby 9.2.6.0
53
+ * JRuby 9.2.7.0
55
54
  * JRuby (head)
56
55
 
57
56
  ## Supported rails versions
@@ -147,7 +146,7 @@ alliance_icon.etag # => "e3f6a76b4a1287f54966c6253f8f5d6ac6460bc43d47570331b43e0
147
146
  #### Get character assets
148
147
 
149
148
  ```ruby
150
- options = { token: 'token123', character_id: 90729314, page: 1 }
149
+ options = { token: 'token123', character_id: 90_729_314, page: 1 }
151
150
 
152
151
  character_assets = EveOnline::ESI::CharacterAssets.new(options)
153
152
 
@@ -179,13 +178,13 @@ asset.location_type # => "other"
179
178
  asset.quantity # => 1
180
179
  asset.type_id # => 1010
181
180
 
182
- # TODO: character_assets.etag
181
+ character_assets.etag # => "29da11b30974e55cd440a879199a629a8492a4c0a49894a2cd22f90b"
183
182
  ```
184
183
 
185
184
  #### Get character asset locations
186
185
 
187
186
  ```ruby
188
- options = { token: 'token123', character_id: 1337512245, item_ids: [1001215602246] }
187
+ options = { token: 'token123', character_id: 1_337_512_245, item_ids: [1_001_215_602_246] }
189
188
 
190
189
  character_assets_locations = EveOnline::ESI::CharacterAssetsLocations.new(options)
191
190
 
@@ -207,13 +206,13 @@ asset_location.position.x # => -928621543221.3319
207
206
  asset_location.position.y # => 297645715142.40234
208
207
  asset_location.position.z # => -971212198300.4812
209
208
 
210
- # TODO: character_assets_locations.etag
209
+ character_assets_locations.etag # => NotImplementedError
211
210
  ```
212
211
 
213
212
  #### Get character asset names
214
213
 
215
214
  ```ruby
216
- options = { token: 'token123', character_id: 1337512245, item_ids: [1001215602246] }
215
+ options = { token: 'token123', character_id: 1_337_512_245, item_ids: [1_001_215_602_246] }
217
216
 
218
217
  character_assets_names = EveOnline::ESI::CharacterAssetsNames.new(options)
219
218
 
@@ -221,29 +220,117 @@ character_assets_names.scope # => "esi-assets.read_assets.v1"
221
220
 
222
221
  character_assets_names.assets_names.size # => 1
223
222
 
224
- character_asset_name = character_assets_names.assets_names.first
223
+ asset_name = character_assets_names.assets_names.first
225
224
 
226
- character_asset_name.as_json # => {:item_id=>1001215602246,
227
- # :name=>"HOLE"}
225
+ asset_name.as_json # => {:item_id=>1001215602246,
226
+ # :name=>"HOLE"}
228
227
 
229
- character_asset_name.item_id # => 1001215602246
230
- character_asset_name.name # => "HOLE"
228
+ asset_name.item_id # => 1001215602246
229
+ asset_name.name # => "HOLE"
231
230
 
232
- # TODO: character_assets_names.etag
231
+ character_assets_names.etag # => NotImplementedError
233
232
  ```
234
233
 
235
234
  #### Get corporation assets
236
235
 
236
+ ```ruby
237
+ options = { token: 'token123', corporation_id: 98_134_807, page: 1 }
238
+
239
+ corporation_assets = EveOnline::ESI::CorporationAssets.new(options)
240
+
241
+ corporation_assets.scope # => "esi-assets.read_corporation_assets.v1"
242
+
243
+ corporation_assets.roles # => ["Director"]
244
+
245
+ corporation_assets.page # => 1
246
+
247
+ corporation_assets.total_pages # => 1
248
+
249
+ corporation_assets.assets.size # => 486
250
+
251
+ asset = corporation_assets.assets.first
252
+
253
+ asset.as_json # => {:is_blueprint_copy=>true,
254
+ # :is_singleton=>true,
255
+ # :item_id=>716338097,
256
+ # :location_flag=>"Hangar",
257
+ # :location_id=>1027847409779,
258
+ # :location_type=>"other",
259
+ # :quantity=>1
260
+ # :type_id=>1010}
261
+
262
+ asset.is_blueprint_copy # => true
263
+ asset.is_singleton # => true
264
+ asset.item_id # => 716338097
265
+ asset.location_flag # => "Hangar"
266
+ asset.location_id # => 1027847409779
267
+ asset.location_type # => "other"
268
+ asset.quantity # => 1
269
+ asset.type_id # => 1010
270
+
271
+ # TODO: corporation_assets.etag
272
+ ```
273
+
237
274
  #### Get corporation asset locations
238
275
 
276
+ ```ruby
277
+ options = { token: 'token123', corporation_id: 98_134_807, item_ids: [1_001_215_602_246] }
278
+
279
+ corporation_assets_locations = EveOnline::ESI::CorporationAssetsLocations.new(options)
280
+
281
+ corporation_assets_locations.scope # => "esi-assets.read_corporation_assets.v1"
282
+
283
+ corporation_assets_locations.roles # => ["Director"]
284
+
285
+ corporation_assets_locations.assets_locations.size # => 1
286
+
287
+ asset_location = corporation_assets_locations.assets_locations.first
288
+
289
+ asset_location.as_json # => {:item_id=>1001215602246}
290
+
291
+ asset_location.item_id # => 1001215602246
292
+
293
+ asset_location.position.as_json # => {:x=>-928621543221.3319,
294
+ # :y=>297645715142.40234,
295
+ # :z=>-971212198300.4812}
296
+
297
+ asset_location.position.x # => -928621543221.3319
298
+ asset_location.position.y # => 297645715142.40234
299
+ asset_location.position.z # => -971212198300.4812
300
+
301
+ corporation_assets_locations.etag # => NotImplementedError
302
+ ```
303
+
239
304
  #### Get corporation asset names
240
305
 
306
+ ```ruby
307
+ options = { token: 'token123', corporation_id: 98_134_807, item_ids: [1_001_215_602_246] }
308
+
309
+ corporation_assets_names = EveOnline::ESI::CorporationAssetsNames.new(options)
310
+
311
+ corporation_assets_names.scope # => "esi-assets.read_corporation_assets.v1"
312
+
313
+ corporation_assets_names.roles # => ["Director"]
314
+
315
+ corporation_assets_names.assets_names.size # => 1
316
+
317
+ asset_name = corporation_assets_names.assets_names.first
318
+
319
+ asset_name.as_json # => {:item_id=>1001215602246,
320
+ # :name=>"HOLE"}
321
+
322
+ asset_name.item_id # => 1001215602246
323
+ asset_name.name # => "HOLE"
324
+
325
+ corporation_assets_names.etag # => NotImplementedError
326
+ ```
327
+
241
328
  ### Bookmarks
242
329
 
243
330
  #### List bookmarks
244
331
 
245
332
  ```ruby
246
- options = { token: 'token123', character_id: 90729314, page: 1 }
333
+ options = { token: 'token123', character_id: 90_729_314, page: 1 }
247
334
 
248
335
  character_bookmarks = EveOnline::ESI::CharacterBookmarks.new(options)
249
336
 
@@ -287,7 +374,7 @@ bookmark.coordinates.as_json # => {:x=>-144951231521.81625,
287
374
  #### List bookmark folders
288
375
 
289
376
  ```ruby
290
- options = { token: 'token123', character_id: 90729314, page: 1 }
377
+ options = { token: 'token123', character_id: 90_729_314, page: 1 }
291
378
 
292
379
  character_bookmark_folders = EveOnline::ESI::CharacterBookmarkFolders.new(options)
293
380
 
@@ -319,7 +406,7 @@ bookmark_folder.name # => "Icecream"
319
406
  #### List calendar event summaries
320
407
 
321
408
  ```ruby
322
- options = { token: 'token123', character_id: 90729314 }
409
+ options = { token: 'token123', character_id: 90_729_314 }
323
410
 
324
411
  character_calendar = EveOnline::ESI::CharacterCalendar.new(options)
325
412
 
@@ -386,7 +473,7 @@ character.name # => "Green Black"
386
473
  character.race_id # => 2
387
474
  character.security_status # => 1.8694881661345457
388
475
 
389
- # TODO: character.etag
476
+ character.etag # => "22c39689783a86032b8d43fa0b2e8f4809c4f38a585e39471035aa8b"
390
477
  ```
391
478
 
392
479
  #### Get agents research
@@ -687,7 +774,7 @@ corporation.etag # => "046430260be73e5d7ad3a9251954310bd547498eeb38f99e8d305796"
687
774
  #### Get corporation blueprints
688
775
 
689
776
  ```ruby
690
- options = options = { token: 'token123', corporation_id: 98260237, page: 1 }
777
+ options = { token: 'token123', corporation_id: 98260237, page: 1 }
691
778
 
692
779
  corporation_blueprints = EveOnline::ESI::CorporationBlueprints.new(options)
693
780
 
@@ -719,7 +806,7 @@ blueprint.runs # => 300
719
806
  blueprint.time_efficiency # => 20
720
807
  blueprint.type_id # => 31803
721
808
 
722
- # TODO: add roles
809
+ corporation_blueprints.roles # => ["Director"]
723
810
 
724
811
  # TODO: corporation_blueprints.etag
725
812
  ```
@@ -1035,7 +1122,7 @@ job.successful_runs # => nil
1035
1122
  #### List corporation industry jobs
1036
1123
 
1037
1124
  ```ruby
1038
- options = { token: 'token123', corporation_id: 98146630 }
1125
+ options = { token: 'token123', corporation_id: 98_146_630 }
1039
1126
 
1040
1127
  corporation_jobs = EveOnline::ESI::CorporationIndustryJobs.new(options)
1041
1128
 
@@ -1095,6 +1182,8 @@ job.start_date # => Sat, 18 Nov 2017 11:20:14 UTC +00:00
1095
1182
  job.status # => "active"
1096
1183
  job.successful_runs # => nil
1097
1184
 
1185
+ corporation_jobs.roles # => ["Factory_Manager"]
1186
+
1098
1187
  # TODO: corporation_jobs.etag
1099
1188
  ```
1100
1189
 
@@ -1111,7 +1200,7 @@ job.successful_runs # => nil
1111
1200
  #### Get a character's recent kills and losses
1112
1201
 
1113
1202
  ```ruby
1114
- options = { token: 'token123', character_id: 90729314 }
1203
+ options = { token: 'token123', character_id: 90_729_314 }
1115
1204
 
1116
1205
  character_killmails = EveOnline::ESI::CharacterKillmailsRecent.new(options)
1117
1206
 
@@ -1137,7 +1226,7 @@ killmail.killmail_id # => 72410059
1137
1226
  #### Get a corporation's recent kills and losses
1138
1227
 
1139
1228
  ```ruby
1140
- options = { token: 'token123', corporation_id: 98146630 }
1229
+ options = { token: 'token123', corporation_id: 98_146_630 }
1141
1230
 
1142
1231
  corporation_killmails = EveOnline::ESI::CorporationKillmailsRecent.new(options)
1143
1232
 
@@ -1157,6 +1246,8 @@ killmail.as_json # => {:killmail_hash=>"07f7ef1d7f6090e78d8e85b4a98e680f67b5e9d5
1157
1246
  killmail.killmail_hash # => "07f7ef1d7f6090e78d8e85b4a98e680f67b5e9d5"
1158
1247
  killmail.killmail_id # => 72410059
1159
1248
 
1249
+ corporation_killmails.roles # => ["Director"]
1250
+
1160
1251
  # TODO: corporation_killmails.etag
1161
1252
  ```
1162
1253
 
@@ -1313,7 +1404,7 @@ order.volume_total
1313
1404
  #### List open orders from a corporation
1314
1405
 
1315
1406
  ```ruby
1316
- options = { token: 'token123', corporation_id: 1000168, page: 1 }
1407
+ options = { token: 'token123', corporation_id: 1_000_168, page: 1 }
1317
1408
 
1318
1409
  corporation_orders = EveOnline::ESI::CorporationOrders.new(options)
1319
1410
 
@@ -1349,6 +1440,8 @@ order.wallet_division
1349
1440
 
1350
1441
  # TODO: update
1351
1442
 
1443
+ corporation_orders.roles # => ["Accountant", "Trader"]
1444
+
1352
1445
  # TODO: corporation_orders.etag
1353
1446
  ```
1354
1447
 
data/eve_online.gemspec CHANGED
@@ -26,7 +26,7 @@ Gem::Specification.new do |spec|
26
26
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features|bin)/}) }
27
27
  spec.require_paths = ['lib']
28
28
 
29
- spec.required_ruby_version = '>= 2.3'
29
+ spec.required_ruby_version = '>= 2.4'
30
30
 
31
31
  spec.add_development_dependency 'bundler'
32
32
  spec.add_development_dependency 'rake'
data/lib/eve_online.rb CHANGED
@@ -26,6 +26,9 @@ require 'eve_online/esi/alliance_icon'
26
26
  require 'eve_online/esi/character_assets'
27
27
  require 'eve_online/esi/character_assets_locations'
28
28
  require 'eve_online/esi/character_assets_names'
29
+ require 'eve_online/esi/corporation_assets'
30
+ require 'eve_online/esi/corporation_assets_locations'
31
+ require 'eve_online/esi/corporation_assets_names'
29
32
 
30
33
  require 'eve_online/esi/character_bookmarks'
31
34
  require 'eve_online/esi/character_bookmark_folders'
@@ -117,12 +117,18 @@ module EveOnline
117
117
  end
118
118
  end
119
119
 
120
+ if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.6.0')
121
+ class Net::WriteTimeout < StandardError; end
122
+ end
123
+
120
124
  def uri
121
125
  @uri ||= URI.parse(url)
122
126
  end
123
127
 
124
128
  def resource
125
129
  @resource ||= client.request(request)
130
+ rescue Net::OpenTimeout, Net::ReadTimeout, Net::WriteTimeout
131
+ raise EveOnline::Exceptions::Timeout
126
132
  end
127
133
 
128
134
  def not_modified?
@@ -159,8 +165,6 @@ module EveOnline
159
165
  # raise EveOnline::Exceptions::UnknownStatus
160
166
  raise NotImplementedError
161
167
  end
162
- rescue Net::OpenTimeout, Net::ReadTimeout
163
- raise EveOnline::Exceptions::Timeout
164
168
  end
165
169
 
166
170
  def response
@@ -37,6 +37,10 @@ module EveOnline
37
37
  'esi-assets.read_assets.v1'
38
38
  end
39
39
 
40
+ def etag
41
+ raise NotImplementedError
42
+ end
43
+
40
44
  def url
41
45
  format("#{ API_HOST }#{ API_PATH }", character_id: character_id, datasource: datasource)
42
46
  end
@@ -37,6 +37,10 @@ module EveOnline
37
37
  'esi-assets.read_assets.v1'
38
38
  end
39
39
 
40
+ def etag
41
+ raise NotImplementedError
42
+ end
43
+
40
44
  def url
41
45
  format("#{ API_HOST }#{ API_PATH }", character_id: character_id, datasource: datasource)
42
46
  end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EveOnline
4
+ module ESI
5
+ class CorporationAssets < Base
6
+ API_PATH = '/v3/corporations/%<corporation_id>s/assets/?datasource=%<datasource>s&page=%<page>s'
7
+
8
+ attr_reader :corporation_id, :page
9
+
10
+ def initialize(options)
11
+ super
12
+
13
+ @corporation_id = options.fetch(:corporation_id)
14
+ @page = options.fetch(:page, 1)
15
+ end
16
+
17
+ def assets
18
+ @assets ||=
19
+ begin
20
+ output = []
21
+ response.each do |asset|
22
+ output << Models::Asset.new(asset)
23
+ end
24
+ output
25
+ end
26
+ end
27
+
28
+ def scope
29
+ 'esi-assets.read_corporation_assets.v1'
30
+ end
31
+
32
+ def roles
33
+ ['Director']
34
+ end
35
+
36
+ def url
37
+ format("#{ API_HOST }#{ API_PATH }", corporation_id: corporation_id, datasource: datasource, page: page)
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EveOnline
4
+ module ESI
5
+ class CorporationAssetsLocations < Base
6
+ API_PATH = '/v2/corporations/%<corporation_id>s/assets/locations/?datasource=%<datasource>s'
7
+
8
+ attr_reader :corporation_id, :item_ids
9
+
10
+ def initialize(options)
11
+ super
12
+
13
+ @corporation_id = options.fetch(:corporation_id)
14
+ @item_ids = options.fetch(:item_ids)
15
+ end
16
+
17
+ def assets_locations
18
+ @assets_locations ||=
19
+ begin
20
+ output = []
21
+ response.each do |asset_location|
22
+ output << Models::AssetLocation.new(asset_location)
23
+ end
24
+ output
25
+ end
26
+ end
27
+
28
+ def http_method
29
+ 'Post'
30
+ end
31
+
32
+ def payload
33
+ item_ids.to_json
34
+ end
35
+
36
+ def scope
37
+ 'esi-assets.read_corporation_assets.v1'
38
+ end
39
+
40
+ def roles
41
+ ['Director']
42
+ end
43
+
44
+ def etag
45
+ raise NotImplementedError
46
+ end
47
+
48
+ def url
49
+ format("#{ API_HOST }#{ API_PATH }", corporation_id: corporation_id, datasource: datasource)
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EveOnline
4
+ module ESI
5
+ class CorporationAssetsNames < Base
6
+ API_PATH = '/v1/corporations/%<corporation_id>s/assets/names/?datasource=%<datasource>s'
7
+
8
+ attr_reader :corporation_id, :item_ids
9
+
10
+ def initialize(options)
11
+ super
12
+
13
+ @corporation_id = options.fetch(:corporation_id)
14
+ @item_ids = options.fetch(:item_ids)
15
+ end
16
+
17
+ def assets_names
18
+ @assets_names ||=
19
+ begin
20
+ output = []
21
+ response.each do |asset_name|
22
+ output << Models::AssetName.new(asset_name)
23
+ end
24
+ output
25
+ end
26
+ end
27
+
28
+ def http_method
29
+ 'Post'
30
+ end
31
+
32
+ def payload
33
+ item_ids.to_json
34
+ end
35
+
36
+ def scope
37
+ 'esi-assets.read_corporation_assets.v1'
38
+ end
39
+
40
+ def roles
41
+ ['Director']
42
+ end
43
+
44
+ def etag
45
+ raise NotImplementedError
46
+ end
47
+
48
+ def url
49
+ format("#{ API_HOST }#{ API_PATH }", corporation_id: corporation_id, datasource: datasource)
50
+ end
51
+ end
52
+ end
53
+ end
@@ -29,6 +29,10 @@ module EveOnline
29
29
  'esi-corporations.read_blueprints.v1'
30
30
  end
31
31
 
32
+ def roles
33
+ ['Director']
34
+ end
35
+
32
36
  def url
33
37
  format("#{ API_HOST }#{ API_PATH }", corporation_id: corporation_id, datasource: datasource, page: page)
34
38
  end
@@ -30,6 +30,10 @@ module EveOnline
30
30
  'esi-industry.read_corporation_jobs.v1'
31
31
  end
32
32
 
33
+ def roles
34
+ ['Factory_Manager']
35
+ end
36
+
33
37
  def url
34
38
  format("#{ API_HOST }#{ API_PATH }", corporation_id: corporation_id, include_completed: include_completed, datasource: datasource, page: page)
35
39
  end
@@ -29,6 +29,10 @@ module EveOnline
29
29
  'esi-killmails.read_corporation_killmails.v1'
30
30
  end
31
31
 
32
+ def roles
33
+ ['Director']
34
+ end
35
+
32
36
  def url
33
37
  format("#{ API_HOST }#{ API_PATH }", corporation_id: corporation_id, datasource: datasource, page: page)
34
38
  end
@@ -29,10 +29,9 @@ module EveOnline
29
29
  'esi-markets.read_corporation_orders.v1'
30
30
  end
31
31
 
32
- # TODO: add roles support
33
- # def roles
34
- # ['Accountant', 'Trader']
35
- # end
32
+ def roles
33
+ ['Accountant', 'Trader']
34
+ end
36
35
 
37
36
  def url
38
37
  format("#{ API_HOST }#{ API_PATH }", corporation_id: corporation_id, datasource: datasource, page: page)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EveOnline
4
- VERSION = '0.24.0'
4
+ VERSION = '0.25.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eve_online
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.24.0
4
+ version: 0.25.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Zubkov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-02-17 00:00:00.000000000 Z
11
+ date: 2019-05-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -200,6 +200,9 @@ files:
200
200
  - lib/eve_online/esi/character_wallet.rb
201
201
  - lib/eve_online/esi/character_wallet_journal.rb
202
202
  - lib/eve_online/esi/corporation.rb
203
+ - lib/eve_online/esi/corporation_assets.rb
204
+ - lib/eve_online/esi/corporation_assets_locations.rb
205
+ - lib/eve_online/esi/corporation_assets_names.rb
203
206
  - lib/eve_online/esi/corporation_blueprints.rb
204
207
  - lib/eve_online/esi/corporation_industry_jobs.rb
205
208
  - lib/eve_online/esi/corporation_killmails_recent.rb
@@ -335,14 +338,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
335
338
  requirements:
336
339
  - - ">="
337
340
  - !ruby/object:Gem::Version
338
- version: '2.3'
341
+ version: '2.4'
339
342
  required_rubygems_version: !ruby/object:Gem::Requirement
340
343
  requirements:
341
344
  - - ">="
342
345
  - !ruby/object:Gem::Version
343
346
  version: '0'
344
347
  requirements: []
345
- rubygems_version: 3.0.2
348
+ rubygems_version: 3.0.3
346
349
  signing_key:
347
350
  specification_version: 4
348
351
  summary: EveOnline ESI API.