eve_online 0.31.0 → 0.35.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +18 -49
- data/.deepsource.toml +5 -0
- data/.ruby-version +1 -1
- data/Appraisals +0 -12
- data/CHANGELOG.md +42 -0
- data/Gemfile.lock +55 -51
- data/Gemfile.mutant.lock +38 -35
- data/README.md +308 -111
- data/eve_online.gemspec +3 -3
- data/lib/eve_online.rb +24 -6
- data/lib/eve_online/esi/alliance_corporations.rb +1 -1
- data/lib/eve_online/esi/alliances.rb +1 -1
- data/lib/eve_online/esi/base.rb +8 -0
- data/lib/eve_online/esi/character_assets.rb +1 -1
- data/lib/eve_online/esi/character_calendar.rb +1 -1
- data/lib/eve_online/esi/character_calendar_event.rb +1 -1
- data/lib/eve_online/esi/{character_bookmarks.rb → character_contracts.rb} +7 -7
- data/lib/eve_online/esi/character_location.rb +1 -1
- data/lib/eve_online/esi/character_online.rb +1 -1
- data/lib/eve_online/esi/character_ship.rb +1 -1
- data/lib/eve_online/esi/character_skills.rb +1 -1
- data/lib/eve_online/esi/character_wallet.rb +1 -1
- data/lib/eve_online/esi/character_wallet_journal.rb +2 -2
- data/lib/eve_online/esi/character_wallet_transactions.rb +41 -0
- data/lib/eve_online/esi/corporation_assets.rb +1 -1
- data/lib/eve_online/esi/corporation_npc.rb +20 -0
- data/lib/eve_online/esi/killmail.rb +30 -0
- data/lib/eve_online/esi/market_prices.rb +27 -0
- data/lib/eve_online/esi/models/aggressor.rb +1 -1
- data/lib/eve_online/esi/models/alliance.rb +1 -1
- data/lib/eve_online/esi/models/alliance_icon.rb +1 -1
- data/lib/eve_online/esi/models/alliance_short.rb +1 -1
- data/lib/eve_online/esi/models/ally.rb +1 -1
- data/lib/eve_online/esi/models/ancestry.rb +1 -1
- data/lib/eve_online/esi/models/asset.rb +1 -1
- data/lib/eve_online/esi/models/asset_location.rb +1 -1
- data/lib/eve_online/esi/models/asset_name.rb +1 -1
- data/lib/eve_online/esi/models/asteroid_belt.rb +1 -1
- data/lib/eve_online/esi/models/attributes.rb +1 -1
- data/lib/eve_online/esi/models/bloodline.rb +1 -1
- data/lib/eve_online/esi/models/blueprint.rb +1 -1
- data/lib/eve_online/esi/models/category.rb +1 -1
- data/lib/eve_online/esi/models/character.rb +1 -1
- data/lib/eve_online/esi/models/character_corporation_history.rb +1 -1
- data/lib/eve_online/esi/models/character_industry_job.rb +1 -1
- data/lib/eve_online/esi/models/character_location.rb +1 -1
- data/lib/eve_online/esi/models/character_order.rb +1 -1
- data/lib/eve_online/esi/models/character_portrait.rb +1 -1
- data/lib/eve_online/esi/models/character_ship.rb +1 -1
- data/lib/eve_online/esi/models/constellation.rb +1 -1
- data/lib/eve_online/esi/models/contract.rb +132 -0
- data/lib/eve_online/esi/models/coordinates.rb +1 -1
- data/lib/eve_online/esi/models/corporation.rb +1 -1
- data/lib/eve_online/esi/models/corporation_alliance_history.rb +1 -1
- data/lib/eve_online/esi/models/corporation_industry_job.rb +1 -1
- data/lib/eve_online/esi/models/corporation_order.rb +1 -1
- data/lib/eve_online/esi/models/defender.rb +1 -1
- data/lib/eve_online/esi/models/dogma_attribute.rb +1 -1
- data/lib/eve_online/esi/models/dogma_attribute_short.rb +1 -1
- data/lib/eve_online/esi/models/dogma_effect.rb +1 -1
- data/lib/eve_online/esi/models/dogma_effect_modifier.rb +1 -1
- data/lib/eve_online/esi/models/dogma_effect_short.rb +1 -1
- data/lib/eve_online/esi/models/event.rb +1 -1
- data/lib/eve_online/esi/models/event_details.rb +1 -1
- data/lib/eve_online/esi/models/faction.rb +1 -1
- data/lib/eve_online/esi/models/fatigue.rb +1 -1
- data/lib/eve_online/esi/models/graphic.rb +1 -1
- data/lib/eve_online/esi/models/group.rb +1 -1
- data/lib/eve_online/esi/models/home_location.rb +1 -1
- data/lib/eve_online/esi/models/jump_clone.rb +1 -1
- data/lib/eve_online/esi/models/killmail.rb +47 -0
- data/lib/eve_online/esi/models/killmail_short.rb +1 -1
- data/lib/eve_online/esi/models/loyalty_point.rb +1 -1
- data/lib/eve_online/esi/models/loyalty_store_offer.rb +1 -1
- data/lib/eve_online/esi/models/mail.rb +1 -1
- data/lib/eve_online/esi/models/mail_label.rb +1 -1
- data/lib/eve_online/esi/models/mail_recipient.rb +1 -1
- data/lib/eve_online/esi/models/market_group.rb +1 -1
- data/lib/eve_online/esi/models/market_history.rb +1 -1
- data/lib/eve_online/esi/models/market_price.rb +29 -0
- data/lib/eve_online/esi/models/moon.rb +1 -1
- data/lib/eve_online/esi/models/notification.rb +1 -1
- data/lib/eve_online/esi/models/offer_required_item.rb +1 -1
- data/lib/eve_online/esi/models/online.rb +1 -1
- data/lib/eve_online/esi/models/planet.rb +1 -1
- data/lib/eve_online/esi/models/planet_short.rb +1 -1
- data/lib/eve_online/esi/models/position.rb +1 -1
- data/lib/eve_online/esi/models/public_contract.rb +98 -0
- data/lib/eve_online/esi/models/public_contract_item.rb +59 -0
- data/lib/eve_online/esi/models/race.rb +3 -3
- data/lib/eve_online/esi/models/region.rb +1 -1
- data/lib/eve_online/esi/models/server_status.rb +1 -1
- data/lib/eve_online/esi/models/skill.rb +1 -1
- data/lib/eve_online/esi/models/skill_queue_entry.rb +1 -1
- data/lib/eve_online/esi/models/standing.rb +1 -1
- data/lib/eve_online/esi/models/star.rb +1 -1
- data/lib/eve_online/esi/models/stargate.rb +1 -1
- data/lib/eve_online/esi/models/station.rb +1 -1
- data/lib/eve_online/esi/models/system.rb +1 -1
- data/lib/eve_online/esi/models/system_jump.rb +1 -1
- data/lib/eve_online/esi/models/system_kill.rb +1 -1
- data/lib/eve_online/esi/models/type.rb +1 -1
- data/lib/eve_online/esi/models/{wallet_journal_entry.rb → wallet_journal.rb} +4 -4
- data/lib/eve_online/esi/models/wallet_transaction.rb +66 -0
- data/lib/eve_online/esi/models/war.rb +1 -1
- data/lib/eve_online/esi/public_contract.rb +40 -0
- data/lib/eve_online/esi/public_contracts.rb +40 -0
- data/lib/eve_online/exceptions/error_limited.rb +8 -0
- data/lib/eve_online/formulas/blueprint_copy_time.rb +47 -0
- data/lib/eve_online/version.rb +1 -1
- metadata +25 -13
- data/lib/eve_online/esi/character_bookmark_folders.rb +0 -41
- data/lib/eve_online/esi/models/bookmark.rb +0 -71
- data/lib/eve_online/esi/models/bookmark_folder.rb +0 -24
data/eve_online.gemspec
CHANGED
@@ -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.
|
29
|
+
spec.required_ruby_version = ">= 2.5"
|
30
30
|
|
31
31
|
spec.add_development_dependency "bundler"
|
32
32
|
spec.add_development_dependency "rake"
|
@@ -38,5 +38,5 @@ Gem::Specification.new do |spec|
|
|
38
38
|
spec.add_development_dependency "mdl"
|
39
39
|
spec.add_development_dependency "appraisal"
|
40
40
|
|
41
|
-
spec.add_runtime_dependency "activesupport", ">=
|
41
|
+
spec.add_runtime_dependency "activesupport", ">= 5.2.0"
|
42
42
|
end
|
data/lib/eve_online.rb
CHANGED
@@ -14,6 +14,7 @@ require "eve_online/exceptions/bad_gateway"
|
|
14
14
|
require "eve_online/exceptions/service_unavailable"
|
15
15
|
require "eve_online/exceptions/no_content"
|
16
16
|
require "eve_online/exceptions/not_modified"
|
17
|
+
require "eve_online/exceptions/error_limited"
|
17
18
|
|
18
19
|
# ESI API
|
19
20
|
require "eve_online/esi/base"
|
@@ -30,9 +31,6 @@ require "eve_online/esi/corporation_assets"
|
|
30
31
|
require "eve_online/esi/corporation_assets_locations"
|
31
32
|
require "eve_online/esi/corporation_assets_names"
|
32
33
|
|
33
|
-
require "eve_online/esi/character_bookmarks"
|
34
|
-
require "eve_online/esi/character_bookmark_folders"
|
35
|
-
|
36
34
|
require "eve_online/esi/character_calendar"
|
37
35
|
require "eve_online/esi/character_calendar_event"
|
38
36
|
|
@@ -47,9 +45,14 @@ require "eve_online/esi/character_standings"
|
|
47
45
|
require "eve_online/esi/character_clones"
|
48
46
|
require "eve_online/esi/character_implants"
|
49
47
|
|
48
|
+
require "eve_online/esi/character_contracts"
|
49
|
+
require "eve_online/esi/public_contracts"
|
50
|
+
require "eve_online/esi/public_contract"
|
51
|
+
|
50
52
|
require "eve_online/esi/corporation"
|
51
53
|
require "eve_online/esi/corporation_alliance_history"
|
52
54
|
require "eve_online/esi/corporation_blueprints"
|
55
|
+
require "eve_online/esi/corporation_npc"
|
53
56
|
|
54
57
|
require "eve_online/esi/dogma_attributes"
|
55
58
|
require "eve_online/esi/dogma_attribute"
|
@@ -61,6 +64,7 @@ require "eve_online/esi/corporation_industry_jobs"
|
|
61
64
|
|
62
65
|
require "eve_online/esi/character_killmails_recent"
|
63
66
|
require "eve_online/esi/corporation_killmails_recent"
|
67
|
+
require "eve_online/esi/killmail"
|
64
68
|
|
65
69
|
require "eve_online/esi/character_location"
|
66
70
|
require "eve_online/esi/character_online"
|
@@ -84,6 +88,7 @@ require "eve_online/esi/corporation_orders"
|
|
84
88
|
require "eve_online/esi/market_history"
|
85
89
|
require "eve_online/esi/market_groups"
|
86
90
|
require "eve_online/esi/market_group"
|
91
|
+
require "eve_online/esi/market_prices"
|
87
92
|
|
88
93
|
require "eve_online/esi/character_attributes"
|
89
94
|
require "eve_online/esi/character_skill_queue"
|
@@ -121,6 +126,7 @@ require "eve_online/esi/universe_type"
|
|
121
126
|
|
122
127
|
require "eve_online/esi/character_wallet"
|
123
128
|
require "eve_online/esi/character_wallet_journal"
|
129
|
+
require "eve_online/esi/character_wallet_transactions"
|
124
130
|
|
125
131
|
require "eve_online/esi/wars"
|
126
132
|
require "eve_online/esi/war"
|
@@ -149,22 +155,25 @@ require "eve_online/esi/models/character_order"
|
|
149
155
|
require "eve_online/esi/models/character_location"
|
150
156
|
require "eve_online/esi/models/character_ship"
|
151
157
|
require "eve_online/esi/models/blueprint"
|
152
|
-
require "eve_online/esi/models/bookmark"
|
153
|
-
require "eve_online/esi/models/bookmark_folder"
|
154
158
|
require "eve_online/esi/models/standing"
|
159
|
+
require "eve_online/esi/models/contract"
|
160
|
+
require "eve_online/esi/models/public_contract"
|
161
|
+
require "eve_online/esi/models/public_contract_item"
|
155
162
|
require "eve_online/esi/models/fatigue"
|
156
163
|
require "eve_online/esi/models/notification"
|
157
164
|
require "eve_online/esi/models/event"
|
158
165
|
require "eve_online/esi/models/event_details"
|
159
166
|
require "eve_online/esi/models/type"
|
160
167
|
require "eve_online/esi/models/jump_clone"
|
161
|
-
require "eve_online/esi/models/
|
168
|
+
require "eve_online/esi/models/wallet_journal"
|
169
|
+
require "eve_online/esi/models/wallet_transaction"
|
162
170
|
require "eve_online/esi/models/corporation_order"
|
163
171
|
require "eve_online/esi/models/home_location"
|
164
172
|
require "eve_online/esi/models/server_status"
|
165
173
|
|
166
174
|
require "eve_online/esi/models/market_history"
|
167
175
|
require "eve_online/esi/models/market_group"
|
176
|
+
require "eve_online/esi/models/market_price"
|
168
177
|
|
169
178
|
require "eve_online/esi/models/corporation"
|
170
179
|
require "eve_online/esi/models/corporation_alliance_history"
|
@@ -218,6 +227,15 @@ require "eve_online/esi/models/ally"
|
|
218
227
|
require "eve_online/esi/models/allies"
|
219
228
|
require "eve_online/esi/models/defender"
|
220
229
|
require "eve_online/esi/models/killmail_short"
|
230
|
+
require "eve_online/esi/models/killmail"
|
231
|
+
|
232
|
+
require "eve_online/formulas/blueprint_copy_time"
|
221
233
|
|
222
234
|
module EveOnline
|
223
235
|
end
|
236
|
+
|
237
|
+
# class Net::HTTPErrorLimited < Net::HTTPClientError # 420
|
238
|
+
# HAS_BODY = false
|
239
|
+
# end
|
240
|
+
#
|
241
|
+
# Net::HTTPResponse::CODE_TO_OBJ.merge!("420"=>Net::HTTPErrorLimited)
|
data/lib/eve_online/esi/base.rb
CHANGED
@@ -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)
|
@@ -2,8 +2,8 @@
|
|
2
2
|
|
3
3
|
module EveOnline
|
4
4
|
module ESI
|
5
|
-
class
|
6
|
-
API_PATH = "/
|
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
|
18
|
-
@
|
17
|
+
def contracts
|
18
|
+
@contracts ||=
|
19
19
|
begin
|
20
20
|
output = []
|
21
|
-
response.each do |
|
22
|
-
output << Models::
|
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-
|
29
|
+
"esi-contracts.read_character_contracts.v1"
|
30
30
|
end
|
31
31
|
|
32
32
|
def additional_query_params
|
@@ -18,8 +18,8 @@ module EveOnline
|
|
18
18
|
@wallet_journal_entries ||=
|
19
19
|
begin
|
20
20
|
output = []
|
21
|
-
response.each do |
|
22
|
-
output << Models::
|
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
|
@@ -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
|