eve_online 0.31.0 → 0.32.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +18 -49
  3. data/.ruby-version +1 -1
  4. data/Appraisals +0 -12
  5. data/CHANGELOG.md +22 -0
  6. data/Gemfile.lock +32 -32
  7. data/Gemfile.mutant.lock +25 -24
  8. data/README.md +214 -108
  9. data/eve_online.gemspec +2 -2
  10. data/lib/eve_online.rb +13 -6
  11. data/lib/eve_online/esi/alliance_corporations.rb +1 -1
  12. data/lib/eve_online/esi/alliances.rb +1 -1
  13. data/lib/eve_online/esi/base.rb +8 -0
  14. data/lib/eve_online/esi/character_assets.rb +1 -1
  15. data/lib/eve_online/esi/{character_bookmarks.rb → character_contracts.rb} +7 -7
  16. data/lib/eve_online/esi/character_skills.rb +1 -1
  17. data/lib/eve_online/esi/character_wallet.rb +1 -1
  18. data/lib/eve_online/esi/character_wallet_journal.rb +2 -2
  19. data/lib/eve_online/esi/character_wallet_transactions.rb +41 -0
  20. data/lib/eve_online/esi/corporation_assets.rb +1 -1
  21. data/lib/eve_online/esi/corporation_npc.rb +20 -0
  22. data/lib/eve_online/esi/killmail.rb +30 -0
  23. data/lib/eve_online/esi/market_prices.rb +27 -0
  24. data/lib/eve_online/esi/models/aggressor.rb +1 -1
  25. data/lib/eve_online/esi/models/alliance.rb +1 -1
  26. data/lib/eve_online/esi/models/alliance_icon.rb +1 -1
  27. data/lib/eve_online/esi/models/alliance_short.rb +1 -1
  28. data/lib/eve_online/esi/models/ally.rb +1 -1
  29. data/lib/eve_online/esi/models/ancestry.rb +1 -1
  30. data/lib/eve_online/esi/models/asset.rb +1 -1
  31. data/lib/eve_online/esi/models/asset_location.rb +1 -1
  32. data/lib/eve_online/esi/models/asset_name.rb +1 -1
  33. data/lib/eve_online/esi/models/asteroid_belt.rb +1 -1
  34. data/lib/eve_online/esi/models/attributes.rb +1 -1
  35. data/lib/eve_online/esi/models/bloodline.rb +1 -1
  36. data/lib/eve_online/esi/models/blueprint.rb +1 -1
  37. data/lib/eve_online/esi/models/category.rb +1 -1
  38. data/lib/eve_online/esi/models/character.rb +1 -1
  39. data/lib/eve_online/esi/models/character_corporation_history.rb +1 -1
  40. data/lib/eve_online/esi/models/character_industry_job.rb +1 -1
  41. data/lib/eve_online/esi/models/character_location.rb +1 -1
  42. data/lib/eve_online/esi/models/character_order.rb +1 -1
  43. data/lib/eve_online/esi/models/character_portrait.rb +1 -1
  44. data/lib/eve_online/esi/models/character_ship.rb +1 -1
  45. data/lib/eve_online/esi/models/constellation.rb +1 -1
  46. data/lib/eve_online/esi/models/contract.rb +132 -0
  47. data/lib/eve_online/esi/models/coordinates.rb +1 -1
  48. data/lib/eve_online/esi/models/corporation.rb +1 -1
  49. data/lib/eve_online/esi/models/corporation_alliance_history.rb +1 -1
  50. data/lib/eve_online/esi/models/corporation_industry_job.rb +1 -1
  51. data/lib/eve_online/esi/models/corporation_order.rb +1 -1
  52. data/lib/eve_online/esi/models/defender.rb +1 -1
  53. data/lib/eve_online/esi/models/dogma_attribute.rb +1 -1
  54. data/lib/eve_online/esi/models/dogma_attribute_short.rb +1 -1
  55. data/lib/eve_online/esi/models/dogma_effect.rb +1 -1
  56. data/lib/eve_online/esi/models/dogma_effect_modifier.rb +1 -1
  57. data/lib/eve_online/esi/models/dogma_effect_short.rb +1 -1
  58. data/lib/eve_online/esi/models/event.rb +1 -1
  59. data/lib/eve_online/esi/models/event_details.rb +1 -1
  60. data/lib/eve_online/esi/models/faction.rb +1 -1
  61. data/lib/eve_online/esi/models/fatigue.rb +1 -1
  62. data/lib/eve_online/esi/models/graphic.rb +1 -1
  63. data/lib/eve_online/esi/models/group.rb +1 -1
  64. data/lib/eve_online/esi/models/home_location.rb +1 -1
  65. data/lib/eve_online/esi/models/jump_clone.rb +1 -1
  66. data/lib/eve_online/esi/models/killmail.rb +47 -0
  67. data/lib/eve_online/esi/models/killmail_short.rb +1 -1
  68. data/lib/eve_online/esi/models/loyalty_point.rb +1 -1
  69. data/lib/eve_online/esi/models/loyalty_store_offer.rb +1 -1
  70. data/lib/eve_online/esi/models/mail.rb +1 -1
  71. data/lib/eve_online/esi/models/mail_label.rb +1 -1
  72. data/lib/eve_online/esi/models/mail_recipient.rb +1 -1
  73. data/lib/eve_online/esi/models/market_group.rb +1 -1
  74. data/lib/eve_online/esi/models/market_history.rb +1 -1
  75. data/lib/eve_online/esi/models/market_price.rb +29 -0
  76. data/lib/eve_online/esi/models/moon.rb +1 -1
  77. data/lib/eve_online/esi/models/notification.rb +1 -1
  78. data/lib/eve_online/esi/models/offer_required_item.rb +1 -1
  79. data/lib/eve_online/esi/models/online.rb +1 -1
  80. data/lib/eve_online/esi/models/planet.rb +1 -1
  81. data/lib/eve_online/esi/models/planet_short.rb +1 -1
  82. data/lib/eve_online/esi/models/position.rb +1 -1
  83. data/lib/eve_online/esi/models/race.rb +1 -1
  84. data/lib/eve_online/esi/models/region.rb +1 -1
  85. data/lib/eve_online/esi/models/server_status.rb +1 -1
  86. data/lib/eve_online/esi/models/skill.rb +1 -1
  87. data/lib/eve_online/esi/models/skill_queue_entry.rb +1 -1
  88. data/lib/eve_online/esi/models/standing.rb +1 -1
  89. data/lib/eve_online/esi/models/star.rb +1 -1
  90. data/lib/eve_online/esi/models/stargate.rb +1 -1
  91. data/lib/eve_online/esi/models/station.rb +1 -1
  92. data/lib/eve_online/esi/models/system.rb +1 -1
  93. data/lib/eve_online/esi/models/system_jump.rb +1 -1
  94. data/lib/eve_online/esi/models/system_kill.rb +1 -1
  95. data/lib/eve_online/esi/models/type.rb +1 -1
  96. data/lib/eve_online/esi/models/{wallet_journal_entry.rb → wallet_journal.rb} +4 -4
  97. data/lib/eve_online/esi/models/wallet_transaction.rb +66 -0
  98. data/lib/eve_online/esi/models/war.rb +1 -1
  99. data/lib/eve_online/formulas/blueprint_copy_time.rb +47 -0
  100. data/lib/eve_online/version.rb +1 -1
  101. metadata +14 -8
  102. data/lib/eve_online/esi/character_bookmark_folders.rb +0 -41
  103. data/lib/eve_online/esi/models/bookmark.rb +0 -71
  104. data/lib/eve_online/esi/models/bookmark_folder.rb +0 -24
@@ -20,13 +20,13 @@ Gem::Specification.new do |spec|
20
20
  "changelog_uri" => "https://github.com/evemonk/eve_online/blob/master/CHANGELOG.md",
21
21
  "documentation_uri" => "https://github.com/evemonk/eve_online/blob/master/README.md",
22
22
  "homepage_uri" => "https://github.com/evemonk/eve_online",
23
- "source_code_uri" => "https://github.com/evemonk/eve_online",
23
+ "source_code_uri" => "https://github.com/evemonk/eve_online"
24
24
  }
25
25
 
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.4"
29
+ spec.required_ruby_version = ">= 2.5"
30
30
 
31
31
  spec.add_development_dependency "bundler"
32
32
  spec.add_development_dependency "rake"
@@ -30,9 +30,6 @@ require "eve_online/esi/corporation_assets"
30
30
  require "eve_online/esi/corporation_assets_locations"
31
31
  require "eve_online/esi/corporation_assets_names"
32
32
 
33
- require "eve_online/esi/character_bookmarks"
34
- require "eve_online/esi/character_bookmark_folders"
35
-
36
33
  require "eve_online/esi/character_calendar"
37
34
  require "eve_online/esi/character_calendar_event"
38
35
 
@@ -47,9 +44,12 @@ require "eve_online/esi/character_standings"
47
44
  require "eve_online/esi/character_clones"
48
45
  require "eve_online/esi/character_implants"
49
46
 
47
+ require "eve_online/esi/character_contracts"
48
+
50
49
  require "eve_online/esi/corporation"
51
50
  require "eve_online/esi/corporation_alliance_history"
52
51
  require "eve_online/esi/corporation_blueprints"
52
+ require "eve_online/esi/corporation_npc"
53
53
 
54
54
  require "eve_online/esi/dogma_attributes"
55
55
  require "eve_online/esi/dogma_attribute"
@@ -61,6 +61,7 @@ require "eve_online/esi/corporation_industry_jobs"
61
61
 
62
62
  require "eve_online/esi/character_killmails_recent"
63
63
  require "eve_online/esi/corporation_killmails_recent"
64
+ require "eve_online/esi/killmail"
64
65
 
65
66
  require "eve_online/esi/character_location"
66
67
  require "eve_online/esi/character_online"
@@ -84,6 +85,7 @@ require "eve_online/esi/corporation_orders"
84
85
  require "eve_online/esi/market_history"
85
86
  require "eve_online/esi/market_groups"
86
87
  require "eve_online/esi/market_group"
88
+ require "eve_online/esi/market_prices"
87
89
 
88
90
  require "eve_online/esi/character_attributes"
89
91
  require "eve_online/esi/character_skill_queue"
@@ -121,6 +123,7 @@ require "eve_online/esi/universe_type"
121
123
 
122
124
  require "eve_online/esi/character_wallet"
123
125
  require "eve_online/esi/character_wallet_journal"
126
+ require "eve_online/esi/character_wallet_transactions"
124
127
 
125
128
  require "eve_online/esi/wars"
126
129
  require "eve_online/esi/war"
@@ -149,22 +152,23 @@ require "eve_online/esi/models/character_order"
149
152
  require "eve_online/esi/models/character_location"
150
153
  require "eve_online/esi/models/character_ship"
151
154
  require "eve_online/esi/models/blueprint"
152
- require "eve_online/esi/models/bookmark"
153
- require "eve_online/esi/models/bookmark_folder"
154
155
  require "eve_online/esi/models/standing"
156
+ require "eve_online/esi/models/contract"
155
157
  require "eve_online/esi/models/fatigue"
156
158
  require "eve_online/esi/models/notification"
157
159
  require "eve_online/esi/models/event"
158
160
  require "eve_online/esi/models/event_details"
159
161
  require "eve_online/esi/models/type"
160
162
  require "eve_online/esi/models/jump_clone"
161
- require "eve_online/esi/models/wallet_journal_entry"
163
+ require "eve_online/esi/models/wallet_journal"
164
+ require "eve_online/esi/models/wallet_transaction"
162
165
  require "eve_online/esi/models/corporation_order"
163
166
  require "eve_online/esi/models/home_location"
164
167
  require "eve_online/esi/models/server_status"
165
168
 
166
169
  require "eve_online/esi/models/market_history"
167
170
  require "eve_online/esi/models/market_group"
171
+ require "eve_online/esi/models/market_price"
168
172
 
169
173
  require "eve_online/esi/models/corporation"
170
174
  require "eve_online/esi/models/corporation_alliance_history"
@@ -218,6 +222,9 @@ require "eve_online/esi/models/ally"
218
222
  require "eve_online/esi/models/allies"
219
223
  require "eve_online/esi/models/defender"
220
224
  require "eve_online/esi/models/killmail_short"
225
+ require "eve_online/esi/models/killmail"
226
+
227
+ require "eve_online/formulas/blueprint_copy_time"
221
228
 
222
229
  module EveOnline
223
230
  end
@@ -3,7 +3,7 @@
3
3
  module EveOnline
4
4
  module ESI
5
5
  class AllianceCorporations < Base
6
- API_PATH = "/v1/alliances/%<alliance_id>s/corporations/"
6
+ API_PATH = "/v2/alliances/%<alliance_id>s/corporations/"
7
7
 
8
8
  attr_reader :alliance_id
9
9
 
@@ -3,7 +3,7 @@
3
3
  module EveOnline
4
4
  module ESI
5
5
  class Alliances < Base
6
- API_PATH = "/v1/alliances/"
6
+ API_PATH = "/v2/alliances/"
7
7
 
8
8
  def alliance_ids
9
9
  response
@@ -86,6 +86,14 @@ module EveOnline
86
86
  resource.header["X-Pages"]&.to_i
87
87
  end
88
88
 
89
+ def error_limit_remain
90
+ resource.header["X-ESI-Error-Limit-Remain"]&.to_i
91
+ end
92
+
93
+ def error_limit_reset
94
+ resource.header["X-ESI-Error-Limit-Reset"]&.to_i
95
+ end
96
+
89
97
  def client
90
98
  @client ||= begin
91
99
  http = Net::HTTP.new(uri.host, uri.port)
@@ -3,7 +3,7 @@
3
3
  module EveOnline
4
4
  module ESI
5
5
  class CharacterAssets < Base
6
- API_PATH = "/v3/characters/%<character_id>s/assets/"
6
+ API_PATH = "/v5/characters/%<character_id>s/assets/"
7
7
 
8
8
  attr_reader :character_id, :page
9
9
 
@@ -2,8 +2,8 @@
2
2
 
3
3
  module EveOnline
4
4
  module ESI
5
- class CharacterBookmarks < Base
6
- API_PATH = "/v2/characters/%<character_id>s/bookmarks/"
5
+ class CharacterContracts < Base
6
+ API_PATH = "/v1/characters/%<character_id>s/contracts/"
7
7
 
8
8
  attr_reader :character_id, :page
9
9
 
@@ -14,19 +14,19 @@ module EveOnline
14
14
  @page = options.fetch(:page, 1)
15
15
  end
16
16
 
17
- def bookmarks
18
- @bookmarks ||=
17
+ def contracts
18
+ @contracts ||=
19
19
  begin
20
20
  output = []
21
- response.each do |bookmark|
22
- output << Models::Bookmark.new(bookmark)
21
+ response.each do |contract|
22
+ output << Models::Contract.new(contract)
23
23
  end
24
24
  output
25
25
  end
26
26
  end
27
27
 
28
28
  def scope
29
- "esi-bookmarks.read_character_bookmarks.v1"
29
+ "esi-contracts.read_character_contracts.v1"
30
30
  end
31
31
 
32
32
  def additional_query_params
@@ -16,7 +16,7 @@ module EveOnline
16
16
  def as_json
17
17
  {
18
18
  total_sp: total_sp,
19
- unallocated_sp: unallocated_sp,
19
+ unallocated_sp: unallocated_sp
20
20
  }
21
21
  end
22
22
 
@@ -15,7 +15,7 @@ module EveOnline
15
15
 
16
16
  def as_json
17
17
  {
18
- wallet: wallet,
18
+ wallet: wallet
19
19
  }
20
20
  end
21
21
 
@@ -18,8 +18,8 @@ module EveOnline
18
18
  @wallet_journal_entries ||=
19
19
  begin
20
20
  output = []
21
- response.each do |wallet_journal_entry|
22
- output << Models::WalletJournalEntry.new(wallet_journal_entry)
21
+ response.each do |wallet_journal|
22
+ output << Models::WalletJournal.new(wallet_journal)
23
23
  end
24
24
  output
25
25
  end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EveOnline
4
+ module ESI
5
+ class CharacterWalletTransactions < Base
6
+ API_PATH = "/v1/characters/%<character_id>s/wallet/transactions/"
7
+
8
+ attr_reader :character_id, :from_id
9
+
10
+ def initialize(options)
11
+ super
12
+
13
+ @character_id = options.fetch(:character_id)
14
+ @from_id = options.fetch(:from_id, nil)
15
+ end
16
+
17
+ def wallet_transactions
18
+ @wallet_transactions ||=
19
+ begin
20
+ output = []
21
+ response.each do |wallet_transaction|
22
+ output << Models::WalletTransaction.new(wallet_transaction)
23
+ end
24
+ output
25
+ end
26
+ end
27
+
28
+ def scope
29
+ "esi-wallet.read_character_wallet.v1"
30
+ end
31
+
32
+ def additional_query_params
33
+ [:from_id]
34
+ end
35
+
36
+ def path
37
+ format(API_PATH, character_id: character_id)
38
+ end
39
+ end
40
+ end
41
+ end
@@ -3,7 +3,7 @@
3
3
  module EveOnline
4
4
  module ESI
5
5
  class CorporationAssets < Base
6
- API_PATH = "/v3/corporations/%<corporation_id>s/assets/"
6
+ API_PATH = "/v5/corporations/%<corporation_id>s/assets/"
7
7
 
8
8
  attr_reader :corporation_id, :page
9
9
 
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EveOnline
4
+ module ESI
5
+ class CorporationNPC < Base
6
+ API_PATH = "/v1/corporations/npccorps/"
7
+
8
+ def corporation_npc_ids
9
+ response
10
+ end
11
+
12
+ def scope
13
+ end
14
+
15
+ def path
16
+ API_PATH
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EveOnline
4
+ module ESI
5
+ class Killmail < Base
6
+ API_PATH = "/v1/killmails/%<killmail_id>s/%<killmail_hash>s/"
7
+
8
+ attr_reader :killmail_id, :killmail_hash
9
+
10
+ def initialize(options)
11
+ super
12
+
13
+ @killmail_id = options.fetch(:killmail_id)
14
+ @killmail_hash = options.fetch(:killmail_hash)
15
+ end
16
+
17
+ # TODO: implement
18
+ def as_json
19
+ {}
20
+ end
21
+
22
+ def scope
23
+ end
24
+
25
+ def path
26
+ format(API_PATH, killmail_id: killmail_id, killmail_hash: killmail_hash)
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EveOnline
4
+ module ESI
5
+ class MarketPrices < Base
6
+ API_PATH = "/v1/markets/prices/"
7
+
8
+ def market_prices
9
+ @market_prices ||=
10
+ begin
11
+ output = []
12
+ response.each do |market_price|
13
+ output << Models::MarketPrice.new(market_price)
14
+ end
15
+ output
16
+ end
17
+ end
18
+
19
+ def scope
20
+ end
21
+
22
+ def path
23
+ API_PATH
24
+ end
25
+ end
26
+ end
27
+ end
@@ -9,7 +9,7 @@ module EveOnline
9
9
  alliance_id: alliance_id,
10
10
  corporation_id: corporation_id,
11
11
  isk_destroyed: isk_destroyed,
12
- ships_killed: ships_killed,
12
+ ships_killed: ships_killed
13
13
  }
14
14
  end
15
15
 
@@ -12,7 +12,7 @@ module EveOnline
12
12
  executor_corporation_id: executor_corporation_id,
13
13
  faction_id: faction_id,
14
14
  name: name,
15
- ticker: ticker,
15
+ ticker: ticker
16
16
  }
17
17
  end
18
18
 
@@ -7,7 +7,7 @@ module EveOnline
7
7
  def as_json
8
8
  {
9
9
  icon_medium: icon_medium,
10
- icon_small: icon_small,
10
+ icon_small: icon_small
11
11
  }
12
12
  end
13
13
 
@@ -7,7 +7,7 @@ module EveOnline
7
7
  def as_json
8
8
  {
9
9
  alliance_id: alliance_id,
10
- alliance_name: alliance_name,
10
+ alliance_name: alliance_name
11
11
  }
12
12
  end
13
13
 
@@ -7,7 +7,7 @@ module EveOnline
7
7
  def as_json
8
8
  {
9
9
  alliance_id: alliance_id,
10
- corporation_id: corporation_id,
10
+ corporation_id: corporation_id
11
11
  }
12
12
  end
13
13
 
@@ -11,7 +11,7 @@ module EveOnline
11
11
  icon_id: icon_id,
12
12
  ancestry_id: ancestry_id,
13
13
  name: name,
14
- short_description: short_description,
14
+ short_description: short_description
15
15
  }
16
16
  end
17
17
 
@@ -13,7 +13,7 @@ module EveOnline
13
13
  location_id: location_id,
14
14
  location_type: location_type,
15
15
  quantity: quantity,
16
- type_id: type_id,
16
+ type_id: type_id
17
17
  }
18
18
  end
19
19
 
@@ -6,7 +6,7 @@ module EveOnline
6
6
  class AssetLocation < Base
7
7
  def as_json
8
8
  {
9
- item_id: item_id,
9
+ item_id: item_id
10
10
  }
11
11
  end
12
12
 
@@ -7,7 +7,7 @@ module EveOnline
7
7
  def as_json
8
8
  {
9
9
  item_id: item_id,
10
- name: name,
10
+ name: name
11
11
  }
12
12
  end
13
13
 
@@ -7,7 +7,7 @@ module EveOnline
7
7
  def as_json
8
8
  {
9
9
  name: name,
10
- system_id: system_id,
10
+ system_id: system_id
11
11
  }
12
12
  end
13
13
 
@@ -13,7 +13,7 @@ module EveOnline
13
13
  last_remap_date: last_remap_date,
14
14
  memory: memory,
15
15
  perception: perception,
16
- willpower: willpower,
16
+ willpower: willpower
17
17
  }
18
18
  end
19
19