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.
Files changed (121) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +18 -54
  3. data/.deepsource.toml +5 -0
  4. data/.ruby-version +1 -1
  5. data/Appraisals +0 -12
  6. data/CHANGELOG.md +58 -0
  7. data/Gemfile.lock +57 -53
  8. data/Gemfile.mutant.lock +49 -50
  9. data/README.md +401 -133
  10. data/eve_online.gemspec +3 -3
  11. data/lib/eve_online.rb +40 -7
  12. data/lib/eve_online/esi/alliance_corporations.rb +1 -1
  13. data/lib/eve_online/esi/alliances.rb +1 -1
  14. data/lib/eve_online/esi/base.rb +15 -6
  15. data/lib/eve_online/esi/character_assets.rb +1 -1
  16. data/lib/eve_online/esi/character_calendar.rb +1 -1
  17. data/lib/eve_online/esi/character_calendar_event.rb +1 -1
  18. data/lib/eve_online/esi/{character_bookmarks.rb → character_contracts.rb} +7 -7
  19. data/lib/eve_online/esi/character_get_mail.rb +37 -0
  20. data/lib/eve_online/esi/character_location.rb +1 -1
  21. data/lib/eve_online/esi/character_mail_labels.rb +40 -0
  22. data/lib/eve_online/esi/character_online.rb +1 -1
  23. data/lib/eve_online/esi/character_ship.rb +1 -1
  24. data/lib/eve_online/esi/character_skills.rb +1 -1
  25. data/lib/eve_online/esi/character_wallet.rb +1 -1
  26. data/lib/eve_online/esi/character_wallet_journal.rb +2 -2
  27. data/lib/eve_online/esi/character_wallet_transactions.rb +41 -0
  28. data/lib/eve_online/esi/corporation_assets.rb +1 -1
  29. data/lib/eve_online/esi/corporation_npc.rb +20 -0
  30. data/lib/eve_online/esi/killmail.rb +30 -0
  31. data/lib/eve_online/esi/market_prices.rb +27 -0
  32. data/lib/eve_online/esi/models/aggressor.rb +1 -1
  33. data/lib/eve_online/esi/models/alliance.rb +1 -1
  34. data/lib/eve_online/esi/models/alliance_icon.rb +1 -1
  35. data/lib/eve_online/esi/models/alliance_short.rb +1 -1
  36. data/lib/eve_online/esi/models/ally.rb +1 -1
  37. data/lib/eve_online/esi/models/ancestry.rb +1 -1
  38. data/lib/eve_online/esi/models/asset.rb +1 -1
  39. data/lib/eve_online/esi/models/asset_location.rb +1 -1
  40. data/lib/eve_online/esi/models/asset_name.rb +1 -1
  41. data/lib/eve_online/esi/models/asteroid_belt.rb +1 -1
  42. data/lib/eve_online/esi/models/attributes.rb +1 -1
  43. data/lib/eve_online/esi/models/bloodline.rb +1 -1
  44. data/lib/eve_online/esi/models/blueprint.rb +1 -1
  45. data/lib/eve_online/esi/models/category.rb +1 -1
  46. data/lib/eve_online/esi/models/character.rb +1 -1
  47. data/lib/eve_online/esi/models/character_corporation_history.rb +1 -1
  48. data/lib/eve_online/esi/models/character_industry_job.rb +1 -1
  49. data/lib/eve_online/esi/models/character_location.rb +1 -1
  50. data/lib/eve_online/esi/models/character_order.rb +1 -1
  51. data/lib/eve_online/esi/models/character_portrait.rb +1 -1
  52. data/lib/eve_online/esi/models/character_ship.rb +1 -1
  53. data/lib/eve_online/esi/models/constellation.rb +1 -1
  54. data/lib/eve_online/esi/models/contract.rb +132 -0
  55. data/lib/eve_online/esi/models/coordinates.rb +1 -1
  56. data/lib/eve_online/esi/models/corporation.rb +1 -1
  57. data/lib/eve_online/esi/models/corporation_alliance_history.rb +1 -1
  58. data/lib/eve_online/esi/models/corporation_industry_job.rb +1 -1
  59. data/lib/eve_online/esi/models/corporation_order.rb +1 -1
  60. data/lib/eve_online/esi/models/defender.rb +1 -1
  61. data/lib/eve_online/esi/models/dogma_attribute.rb +1 -1
  62. data/lib/eve_online/esi/models/dogma_attribute_short.rb +1 -1
  63. data/lib/eve_online/esi/models/dogma_effect.rb +1 -1
  64. data/lib/eve_online/esi/models/dogma_effect_modifier.rb +1 -1
  65. data/lib/eve_online/esi/models/dogma_effect_short.rb +1 -1
  66. data/lib/eve_online/esi/models/event.rb +1 -1
  67. data/lib/eve_online/esi/models/event_details.rb +1 -1
  68. data/lib/eve_online/esi/models/faction.rb +1 -1
  69. data/lib/eve_online/esi/models/fatigue.rb +1 -1
  70. data/lib/eve_online/esi/models/graphic.rb +1 -1
  71. data/lib/eve_online/esi/models/group.rb +1 -1
  72. data/lib/eve_online/esi/models/home_location.rb +1 -1
  73. data/lib/eve_online/esi/models/jump_clone.rb +1 -1
  74. data/lib/eve_online/esi/models/killmail.rb +47 -0
  75. data/lib/eve_online/esi/models/killmail_short.rb +1 -1
  76. data/lib/eve_online/esi/models/loyalty_point.rb +1 -1
  77. data/lib/eve_online/esi/models/loyalty_store_offer.rb +1 -1
  78. data/lib/eve_online/esi/models/mail.rb +49 -0
  79. data/lib/eve_online/esi/models/mail_label.rb +34 -0
  80. data/lib/eve_online/esi/models/mail_recipient.rb +24 -0
  81. data/lib/eve_online/esi/models/mail_recipients.rb +21 -0
  82. data/lib/eve_online/esi/models/market_group.rb +1 -1
  83. data/lib/eve_online/esi/models/market_history.rb +1 -1
  84. data/lib/eve_online/esi/models/market_price.rb +29 -0
  85. data/lib/eve_online/esi/models/moon.rb +1 -1
  86. data/lib/eve_online/esi/models/notification.rb +1 -1
  87. data/lib/eve_online/esi/models/offer_required_item.rb +1 -1
  88. data/lib/eve_online/esi/models/online.rb +1 -1
  89. data/lib/eve_online/esi/models/planet.rb +1 -1
  90. data/lib/eve_online/esi/models/planet_short.rb +1 -1
  91. data/lib/eve_online/esi/models/position.rb +1 -1
  92. data/lib/eve_online/esi/models/public_contract.rb +98 -0
  93. data/lib/eve_online/esi/models/public_contract_item.rb +59 -0
  94. data/lib/eve_online/esi/models/race.rb +3 -3
  95. data/lib/eve_online/esi/models/region.rb +5 -6
  96. data/lib/eve_online/esi/models/server_status.rb +1 -1
  97. data/lib/eve_online/esi/models/skill.rb +1 -1
  98. data/lib/eve_online/esi/models/skill_queue_entry.rb +1 -1
  99. data/lib/eve_online/esi/models/standing.rb +1 -1
  100. data/lib/eve_online/esi/models/star.rb +1 -1
  101. data/lib/eve_online/esi/models/stargate.rb +8 -2
  102. data/lib/eve_online/esi/models/station.rb +1 -1
  103. data/lib/eve_online/esi/models/system.rb +1 -1
  104. data/lib/eve_online/esi/models/system_jump.rb +1 -1
  105. data/lib/eve_online/esi/models/system_kill.rb +1 -1
  106. data/lib/eve_online/esi/models/type.rb +1 -1
  107. data/lib/eve_online/esi/models/{wallet_journal_entry.rb → wallet_journal.rb} +4 -4
  108. data/lib/eve_online/esi/models/wallet_transaction.rb +66 -0
  109. data/lib/eve_online/esi/models/war.rb +1 -1
  110. data/lib/eve_online/esi/public_contract.rb +40 -0
  111. data/lib/eve_online/esi/public_contracts.rb +40 -0
  112. data/lib/eve_online/esi/universe_region.rb +2 -2
  113. data/lib/eve_online/esi/universe_stargate.rb +1 -1
  114. data/lib/eve_online/exceptions/error_limited.rb +8 -0
  115. data/lib/eve_online/formulas/blueprint_copy_time.rb +47 -0
  116. data/lib/eve_online/version.rb +1 -1
  117. metadata +32 -15
  118. data/lib/eve_online/esi/character_bookmark_folders.rb +0 -41
  119. data/lib/eve_online/esi/models/bookmark.rb +0 -71
  120. data/lib/eve_online/esi/models/bookmark_folder.rb +0 -24
  121. data/lib/eve_online/esi/models/stargate_destination.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"
@@ -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", ">= 4.2.0"
41
+ spec.add_runtime_dependency "activesupport", ">= 5.2.0"
42
42
  end
@@ -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/wallet_journal_entry"
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)
@@ -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
@@ -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
- :datasource, :language
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 ||= URI::HTTPS.build(host: API_HOST,
126
- path: path,
127
- query: query.to_query)
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
- [:datasource]
144
+ []
136
145
  end
137
146
 
138
147
  def path
@@ -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
 
@@ -3,7 +3,7 @@
3
3
  module EveOnline
4
4
  module ESI
5
5
  class CharacterCalendar < Base
6
- API_PATH = "/v1/characters/%<character_id>s/calendar/"
6
+ API_PATH = "/v2/characters/%<character_id>s/calendar/"
7
7
 
8
8
  attr_reader :character_id, :from_event
9
9
 
@@ -5,7 +5,7 @@ module EveOnline
5
5
  class CharacterCalendarEvent < Base
6
6
  extend Forwardable
7
7
 
8
- API_PATH = "/v3/characters/%<character_id>s/calendar/%<event_id>s/"
8
+ API_PATH = "/v4/characters/%<character_id>s/calendar/%<event_id>s/"
9
9
 
10
10
  attr_reader :character_id, :event_id
11
11
 
@@ -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
@@ -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
@@ -7,7 +7,7 @@ module EveOnline
7
7
  class CharacterLocation < Base
8
8
  extend Forwardable
9
9
 
10
- API_PATH = "/v1/characters/%<character_id>s/location/"
10
+ API_PATH = "/v2/characters/%<character_id>s/location/"
11
11
 
12
12
  attr_reader :character_id
13
13
 
@@ -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
@@ -7,7 +7,7 @@ module EveOnline
7
7
  class CharacterOnline < Base
8
8
  extend Forwardable
9
9
 
10
- API_PATH = "/v2/characters/%<character_id>s/online/"
10
+ API_PATH = "/v3/characters/%<character_id>s/online/"
11
11
 
12
12
  attr_reader :character_id
13
13
 
@@ -7,7 +7,7 @@ module EveOnline
7
7
  class CharacterShip < Base
8
8
  extend Forwardable
9
9
 
10
- API_PATH = "/v1/characters/%<character_id>s/ship/"
10
+ API_PATH = "/v2/characters/%<character_id>s/ship/"
11
11
 
12
12
  attr_reader :character_id
13
13
 
@@ -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