eve_online 0.30.0 → 0.35.0
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 -54
- data/.deepsource.toml +5 -0
- data/.ruby-version +1 -1
- data/Appraisals +0 -12
- data/CHANGELOG.md +58 -0
- data/Gemfile.lock +57 -53
- data/Gemfile.mutant.lock +49 -50
- data/README.md +401 -133
- data/eve_online.gemspec +3 -3
- data/lib/eve_online.rb +40 -7
- 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 +15 -6
- 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_get_mail.rb +37 -0
- data/lib/eve_online/esi/character_location.rb +1 -1
- data/lib/eve_online/esi/character_mail_labels.rb +40 -0
- 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 +49 -0
- data/lib/eve_online/esi/models/mail_label.rb +34 -0
- data/lib/eve_online/esi/models/mail_recipient.rb +24 -0
- data/lib/eve_online/esi/models/mail_recipients.rb +21 -0
- 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 +5 -6
- 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 +8 -2
- 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/esi/universe_region.rb +2 -2
- data/lib/eve_online/esi/universe_stargate.rb +1 -1
- 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 +32 -15
- 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/lib/eve_online/esi/models/stargate_destination.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"
|
@@ -69,11 +73,22 @@ require "eve_online/esi/character_ship"
|
|
69
73
|
require "eve_online/esi/character_loyalty_points"
|
70
74
|
require "eve_online/esi/corporation_loyalty_store_offers"
|
71
75
|
|
76
|
+
# require "eve_online/esi/character_mail_headers"
|
77
|
+
# require "eve_online/esi/character_new_mail"
|
78
|
+
# require "eve_online/esi/character_delete_mail"
|
79
|
+
require "eve_online/esi/character_get_mail"
|
80
|
+
# require "eve_online/esi/character_update_mail"
|
81
|
+
require "eve_online/esi/character_mail_labels"
|
82
|
+
# require "eve_online/esi/character_new_mail_label"
|
83
|
+
# require "eve_online/esi/character_delete_mail_label"
|
84
|
+
# require "eve_online/esi/character_mail_lists"
|
85
|
+
|
72
86
|
require "eve_online/esi/character_orders"
|
73
87
|
require "eve_online/esi/corporation_orders"
|
74
88
|
require "eve_online/esi/market_history"
|
75
89
|
require "eve_online/esi/market_groups"
|
76
90
|
require "eve_online/esi/market_group"
|
91
|
+
require "eve_online/esi/market_prices"
|
77
92
|
|
78
93
|
require "eve_online/esi/character_attributes"
|
79
94
|
require "eve_online/esi/character_skill_queue"
|
@@ -111,6 +126,7 @@ require "eve_online/esi/universe_type"
|
|
111
126
|
|
112
127
|
require "eve_online/esi/character_wallet"
|
113
128
|
require "eve_online/esi/character_wallet_journal"
|
129
|
+
require "eve_online/esi/character_wallet_transactions"
|
114
130
|
|
115
131
|
require "eve_online/esi/wars"
|
116
132
|
require "eve_online/esi/war"
|
@@ -139,22 +155,25 @@ require "eve_online/esi/models/character_order"
|
|
139
155
|
require "eve_online/esi/models/character_location"
|
140
156
|
require "eve_online/esi/models/character_ship"
|
141
157
|
require "eve_online/esi/models/blueprint"
|
142
|
-
require "eve_online/esi/models/bookmark"
|
143
|
-
require "eve_online/esi/models/bookmark_folder"
|
144
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"
|
145
162
|
require "eve_online/esi/models/fatigue"
|
146
163
|
require "eve_online/esi/models/notification"
|
147
164
|
require "eve_online/esi/models/event"
|
148
165
|
require "eve_online/esi/models/event_details"
|
149
166
|
require "eve_online/esi/models/type"
|
150
167
|
require "eve_online/esi/models/jump_clone"
|
151
|
-
require "eve_online/esi/models/
|
168
|
+
require "eve_online/esi/models/wallet_journal"
|
169
|
+
require "eve_online/esi/models/wallet_transaction"
|
152
170
|
require "eve_online/esi/models/corporation_order"
|
153
171
|
require "eve_online/esi/models/home_location"
|
154
172
|
require "eve_online/esi/models/server_status"
|
155
173
|
|
156
174
|
require "eve_online/esi/models/market_history"
|
157
175
|
require "eve_online/esi/models/market_group"
|
176
|
+
require "eve_online/esi/models/market_price"
|
158
177
|
|
159
178
|
require "eve_online/esi/models/corporation"
|
160
179
|
require "eve_online/esi/models/corporation_alliance_history"
|
@@ -166,6 +185,12 @@ require "eve_online/esi/models/alliance_icon"
|
|
166
185
|
require "eve_online/esi/models/offer_required_item"
|
167
186
|
require "eve_online/esi/models/offer_required_items"
|
168
187
|
|
188
|
+
# require "eve_online/esi/models/mail_header"
|
189
|
+
require "eve_online/esi/models/mail_recipient"
|
190
|
+
require "eve_online/esi/models/mail_recipients"
|
191
|
+
require "eve_online/esi/models/mail"
|
192
|
+
require "eve_online/esi/models/mail_label"
|
193
|
+
|
169
194
|
require "eve_online/esi/models/dogma_attribute"
|
170
195
|
require "eve_online/esi/models/dogma_attributes"
|
171
196
|
require "eve_online/esi/models/dogma_attribute_short"
|
@@ -192,7 +217,6 @@ require "eve_online/esi/models/asteroid_belt"
|
|
192
217
|
require "eve_online/esi/models/moon"
|
193
218
|
require "eve_online/esi/models/system_jump"
|
194
219
|
require "eve_online/esi/models/system_kill"
|
195
|
-
require "eve_online/esi/models/stargate_destination"
|
196
220
|
require "eve_online/esi/models/stargate"
|
197
221
|
require "eve_online/esi/models/star"
|
198
222
|
require "eve_online/esi/models/station"
|
@@ -203,6 +227,15 @@ require "eve_online/esi/models/ally"
|
|
203
227
|
require "eve_online/esi/models/allies"
|
204
228
|
require "eve_online/esi/models/defender"
|
205
229
|
require "eve_online/esi/models/killmail_short"
|
230
|
+
require "eve_online/esi/models/killmail"
|
231
|
+
|
232
|
+
require "eve_online/formulas/blueprint_copy_time"
|
206
233
|
|
207
234
|
module EveOnline
|
208
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
@@ -11,7 +11,7 @@ module EveOnline
|
|
11
11
|
API_HOST = "esi.evetech.net"
|
12
12
|
|
13
13
|
attr_reader :token, :parser, :_read_timeout, :_open_timeout, :_etag,
|
14
|
-
:
|
14
|
+
:language
|
15
15
|
|
16
16
|
if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("2.6.0")
|
17
17
|
attr_reader :_write_timeout
|
@@ -26,7 +26,6 @@ module EveOnline
|
|
26
26
|
@_write_timeout = options.fetch(:write_timeout, 60)
|
27
27
|
end
|
28
28
|
@_etag = options.fetch(:etag, nil)
|
29
|
-
@datasource = options.fetch(:datasource, "tranquility")
|
30
29
|
@language = options.fetch(:language, "en-us")
|
31
30
|
end
|
32
31
|
|
@@ -87,6 +86,14 @@ module EveOnline
|
|
87
86
|
resource.header["X-Pages"]&.to_i
|
88
87
|
end
|
89
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
|
+
|
90
97
|
def client
|
91
98
|
@client ||= begin
|
92
99
|
http = Net::HTTP.new(uri.host, uri.port)
|
@@ -122,9 +129,11 @@ module EveOnline
|
|
122
129
|
end
|
123
130
|
|
124
131
|
def uri
|
125
|
-
@uri ||=
|
126
|
-
|
127
|
-
|
132
|
+
@uri ||= begin
|
133
|
+
params = {host: API_HOST, path: path}
|
134
|
+
params[:query] = query.to_query if query.presence
|
135
|
+
URI::HTTPS.build(params)
|
136
|
+
end
|
128
137
|
end
|
129
138
|
|
130
139
|
def additional_query_params
|
@@ -132,7 +141,7 @@ module EveOnline
|
|
132
141
|
end
|
133
142
|
|
134
143
|
def base_query_params
|
135
|
-
[
|
144
|
+
[]
|
136
145
|
end
|
137
146
|
|
138
147
|
def path
|
@@ -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
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "forwardable"
|
4
|
+
|
5
|
+
module EveOnline
|
6
|
+
module ESI
|
7
|
+
class CharacterGetMail < Base
|
8
|
+
extend Forwardable
|
9
|
+
|
10
|
+
API_PATH = "/v1/characters/%<character_id>s/mail/%<mail_id>s/"
|
11
|
+
|
12
|
+
attr_reader :character_id, :mail_id
|
13
|
+
|
14
|
+
def initialize(options)
|
15
|
+
super
|
16
|
+
|
17
|
+
@character_id = options.fetch(:character_id)
|
18
|
+
@mail_id = options.fetch(:mail_id)
|
19
|
+
end
|
20
|
+
|
21
|
+
def_delegators :model, :as_json, :body, :from_id, :read, :subject,
|
22
|
+
:timestamp, :label_ids, :recipients
|
23
|
+
|
24
|
+
def model
|
25
|
+
@model ||= Models::Mail.new(response)
|
26
|
+
end
|
27
|
+
|
28
|
+
def scope
|
29
|
+
"esi-mail.read_mail.v1"
|
30
|
+
end
|
31
|
+
|
32
|
+
def path
|
33
|
+
format(API_PATH, character_id: character_id, mail_id: mail_id)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module EveOnline
|
4
|
+
module ESI
|
5
|
+
class CharacterMailLabels < Base
|
6
|
+
API_PATH = "/v3/characters/%<character_id>s/mail/labels/"
|
7
|
+
|
8
|
+
attr_reader :character_id
|
9
|
+
|
10
|
+
def initialize(options)
|
11
|
+
super
|
12
|
+
|
13
|
+
@character_id = options.fetch(:character_id)
|
14
|
+
end
|
15
|
+
|
16
|
+
def labels
|
17
|
+
@labels ||=
|
18
|
+
begin
|
19
|
+
output = []
|
20
|
+
response.fetch("labels").each do |label|
|
21
|
+
output << Models::MailLabel.new(label)
|
22
|
+
end
|
23
|
+
output
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def total_unread_count
|
28
|
+
response["total_unread_count"]
|
29
|
+
end
|
30
|
+
|
31
|
+
def scope
|
32
|
+
"esi-mail.read_mail.v1"
|
33
|
+
end
|
34
|
+
|
35
|
+
def path
|
36
|
+
format(API_PATH, character_id: character_id)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -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
|