eve_online 0.11.0 → 0.12.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.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +4 -0
  3. data/.travis.yml +27 -10
  4. data/Gemfile +1 -1
  5. data/LICENSE.txt +1 -1
  6. data/README.md +297 -121
  7. data/gemfiles/activesupport_51.gemfile +5 -0
  8. data/gemfiles/activesupport_edge.gemfile +5 -0
  9. data/lib/eve_online.rb +52 -45
  10. data/lib/eve_online/esi/character.rb +13 -11
  11. data/lib/eve_online/esi/character_loyalty_points.rb +1 -1
  12. data/lib/eve_online/esi/character_portrait.rb +5 -5
  13. data/lib/eve_online/esi/models/loyalty_point.rb +2 -2
  14. data/lib/eve_online/esi/models/skill.rb +3 -3
  15. data/lib/eve_online/esi/server_status.rb +40 -0
  16. data/lib/eve_online/exceptions/{exception.rb → base.rb} +1 -1
  17. data/lib/eve_online/exceptions/invalid_character_id_exception.rb +6 -0
  18. data/lib/eve_online/exceptions/timeout_exception.rb +1 -1
  19. data/lib/eve_online/exceptions/unauthorized_exception.rb +6 -0
  20. data/lib/eve_online/version.rb +1 -1
  21. data/lib/eve_online/{account/characters.rb → xml/account_characters.rb} +2 -2
  22. data/lib/eve_online/xml/account_status.rb +31 -0
  23. data/lib/eve_online/{account → xml}/api_key_info.rb +11 -22
  24. data/lib/eve_online/xml/base.rb +84 -0
  25. data/lib/eve_online/{characters/account_balance.rb → xml/character_account_balance.rb} +2 -2
  26. data/lib/eve_online/{characters/asset_list.rb → xml/character_asset_list.rb} +2 -2
  27. data/lib/eve_online/{characters/blueprints.rb → xml/character_blueprints.rb} +2 -2
  28. data/lib/eve_online/{characters/bookmarks.rb → xml/character_bookmarks.rb} +2 -2
  29. data/lib/eve_online/{characters/calendar_event_attendees.rb → xml/character_calendar_event_attendees.rb} +2 -2
  30. data/lib/eve_online/{characters/chat_channels.rb → xml/character_chat_channels.rb} +2 -2
  31. data/lib/eve_online/{characters/contact_list.rb → xml/character_contact_list.rb} +2 -2
  32. data/lib/eve_online/{characters/contact_notifications.rb → xml/character_contact_notifications.rb} +2 -2
  33. data/lib/eve_online/{characters/contract_bids.rb → xml/character_contract_bids.rb} +2 -2
  34. data/lib/eve_online/{characters/contract_items.rb → xml/character_contract_items.rb} +2 -2
  35. data/lib/eve_online/{characters/contracts.rb → xml/character_contracts.rb} +2 -2
  36. data/lib/eve_online/{characters/fac_war_stats.rb → xml/character_fac_war_stats.rb} +2 -2
  37. data/lib/eve_online/{characters/industry_jobs.rb → xml/character_industry_jobs.rb} +2 -2
  38. data/lib/eve_online/{characters/industry_jobs_history.rb → xml/character_industry_jobs_history.rb} +2 -2
  39. data/lib/eve_online/{characters/kill_mails.rb → xml/character_kill_mails.rb} +2 -2
  40. data/lib/eve_online/{characters/locations.rb → xml/character_locations.rb} +2 -2
  41. data/lib/eve_online/{characters/mail_bodies.rb → xml/character_mail_bodies.rb} +2 -2
  42. data/lib/eve_online/{characters/mail_messages.rb → xml/character_mail_messages.rb} +2 -2
  43. data/lib/eve_online/{characters/mailing_lists.rb → xml/character_mailing_lists.rb} +2 -2
  44. data/lib/eve_online/{characters/market_orders.rb → xml/character_market_orders.rb} +2 -2
  45. data/lib/eve_online/{characters/medals.rb → xml/character_medals.rb} +2 -2
  46. data/lib/eve_online/{characters/notification_texts.rb → xml/character_notification_texts.rb} +2 -2
  47. data/lib/eve_online/{characters/notifications.rb → xml/character_notifications.rb} +2 -2
  48. data/lib/eve_online/{characters/planetary_colonies.rb → xml/character_planetary_colonies.rb} +2 -2
  49. data/lib/eve_online/{characters/planetary_links.rb → xml/character_planetary_links.rb} +2 -2
  50. data/lib/eve_online/{characters/planetary_pins.rb → xml/character_planetary_pins.rb} +2 -2
  51. data/lib/eve_online/{characters/planetary_routes.rb → xml/character_planetary_routes.rb} +2 -2
  52. data/lib/eve_online/{characters/research.rb → xml/character_research.rb} +2 -2
  53. data/lib/eve_online/{characters → xml}/character_sheet.rb +16 -7
  54. data/lib/eve_online/{characters/skill_in_training.rb → xml/character_skill_in_training.rb} +2 -2
  55. data/lib/eve_online/{characters/skill_queue.rb → xml/character_skill_queue.rb} +2 -2
  56. data/lib/eve_online/{characters/standings.rb → xml/character_standings.rb} +2 -2
  57. data/lib/eve_online/{characters/upcoming_calendar_events.rb → xml/character_upcoming_calendar_events.rb} +2 -2
  58. data/lib/eve_online/{characters/wallet_journal.rb → xml/character_wallet_journal.rb} +2 -2
  59. data/lib/eve_online/{characters/wallet_transactions.rb → xml/character_wallet_transactions.rb} +2 -2
  60. data/lib/eve_online/{corporations/market_orders.rb → xml/corporation_market_orders.rb} +2 -2
  61. data/lib/eve_online/xml/models/account_status.rb +40 -0
  62. data/lib/eve_online/xml/models/account_type_object.rb +22 -0
  63. data/lib/eve_online/xml/models/api_key_info.rb +35 -0
  64. data/lib/eve_online/{server/status.rb → xml/server_status.rb} +2 -2
  65. metadata +53 -45
  66. data/lib/eve_online/account/status.rb +0 -47
  67. data/lib/eve_online/account_type_object.rb +0 -18
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 504405d8b40072ca623979ee5b0388080335ee0c
4
- data.tar.gz: f27d4dbfa2a07efd1b1ea5addd7311d07ce4b8e7
3
+ metadata.gz: 21d9c243c02bedf680cbd2547a16033bd0746bd2
4
+ data.tar.gz: 3861d0d1cfdce44b8d8cea9bcdc61e03c1f8978a
5
5
  SHA512:
6
- metadata.gz: 1264fa212dbe6eb520397dc225b8312ca4ff0af2c9d7bf0752f4a3ea45f104c0ed615e79e035ec1816e0bb84d10002a382aec02d253610ca0dcacc932d1cf81f
7
- data.tar.gz: 42e15086fdf5b57cb3ef3d2b574895180fb6fd8b424fd3148f9d991ffb0bafb95422f9c71c86eacae4aa69c06ef1448cca1b9254c47e8d4ab9af459289349379
6
+ metadata.gz: 83e3eedd54db714aeb78895fbc950981ca8205487f87b033c366caa01c6427e423877f1399ee7054d9b713007b780eedf57e525bece9e939facd606fc6497364
7
+ data.tar.gz: d4c205461f74dd976c376d3fe9ffbb6eccf3ae3457de12d4fa98ef3ab3b4e05d48772118659c379fd42aab847732a552c359d3161985f1607226d8fe3f7cbdc0
data/.rubocop.yml CHANGED
@@ -101,3 +101,7 @@ Style/MultilineAssignmentLayout:
101
101
  # Just ignore order of gems in Gemfile
102
102
  Bundler/OrderedGems:
103
103
  Enabled: false
104
+
105
+ # Use %i or %I for an array of symbols.
106
+ Style/SymbolArray:
107
+ Enabled: false
data/.travis.yml CHANGED
@@ -5,50 +5,67 @@ rvm:
5
5
  - 1.9.3
6
6
  - 2.0
7
7
  - 2.1
8
- - 2.2.6
9
- - 2.3.3
10
- - 2.4.0
8
+ - 2.2.7
9
+ - 2.3.4
10
+ - 2.4.1
11
11
  - ruby-head
12
12
 
13
13
  gemfile:
14
14
  - gemfiles/activesupport_42.gemfile
15
15
  - gemfiles/activesupport_50.gemfile
16
+ - gemfiles/activesupport_51.gemfile
17
+ - gemfiles/activesupport_edge.gemfile
16
18
 
17
19
  matrix:
18
20
  exclude:
19
21
  - rvm: 1.9.3
20
22
  gemfile: gemfiles/activesupport_50.gemfile
23
+ - rvm: 1.9.3
24
+ gemfile: gemfiles/activesupport_51.gemfile
25
+ - rvm: 1.9.3
26
+ gemfile: gemfiles/activesupport_edge.gemfile
21
27
  - rvm: 2.0
22
28
  gemfile: gemfiles/activesupport_50.gemfile
29
+ - rvm: 2.0
30
+ gemfile: gemfiles/activesupport_51.gemfile
31
+ - rvm: 2.0
32
+ gemfile: gemfiles/activesupport_edge.gemfile
23
33
  - rvm: 2.1
24
34
  gemfile: gemfiles/activesupport_50.gemfile
25
- - rvm: 2.4.0
26
- gemfile: gemfiles/activesupport_42.gemfile
35
+ - rvm: 2.1
36
+ gemfile: gemfiles/activesupport_51.gemfile
37
+ - rvm: 2.1
38
+ gemfile: gemfiles/activesupport_edge.gemfile
27
39
  - rvm: ruby-head
28
40
  gemfile: gemfiles/activesupport_42.gemfile
29
41
  include:
30
- - rvm: jruby-9.1.5.0
42
+ - rvm: jruby-9.1.8.0
31
43
  gemfile: gemfiles/activesupport_42.gemfile
32
44
  jdk: oraclejdk8
33
- - rvm: jruby-9.1.5.0
45
+ - rvm: jruby-9.1.8.0
34
46
  gemfile: gemfiles/activesupport_50.gemfile
35
47
  jdk: oraclejdk8
48
+ - rvm: jruby-9.1.8.0
49
+ gemfile: gemfiles/activesupport_51.gemfile
50
+ jdk: oraclejdk8
36
51
  - rvm: jruby-head
37
52
  gemfile: gemfiles/activesupport_42.gemfile
38
53
  jdk: oraclejdk8
39
54
  - rvm: jruby-head
40
55
  gemfile: gemfiles/activesupport_50.gemfile
41
56
  jdk: oraclejdk8
57
+ - rvm: jruby-head
58
+ gemfile: gemfiles/activesupport_51.gemfile
59
+ jdk: oraclejdk8
42
60
 
43
61
  allow_failures:
44
62
  - rvm: ruby-head
45
- - rvm: jruby-9.1.5.0
63
+ - rvm: jruby-9.1.8.0
46
64
  - rvm: jruby-head
47
65
  fast_finish: true
48
66
 
49
- before_install: gem install bundler -v 1.14.5
67
+ before_install: gem install bundler -v 1.14.6
50
68
 
51
69
  script:
52
70
  - bundle exec rake
53
71
  - bundle exec codeclimate-test-reporter
54
-
data/Gemfile CHANGED
@@ -9,4 +9,4 @@ gem 'pry'
9
9
  gem 'mutant'
10
10
  gem 'mutant-rspec'
11
11
  # rubocop version locked due config. Update rubocop config on gem update.
12
- gem 'rubocop', '0.47.1', require: false
12
+ gem 'rubocop', '0.48.1', require: false
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2015-2016 Igor Zubkov
3
+ Copyright (c) 2015-2017 Igor Zubkov
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -14,6 +14,22 @@ This gem was extracted from [EveMonk](http://evemonk.com). Source code of evemon
14
14
 
15
15
  You will need to add xml parser to your Gemfile to use this gem. E.g. `nokogiri`. Or any other xml parser which are supported by nori.
16
16
 
17
+ ## TOC
18
+
19
+ * [Installation](#installation)
20
+ * [Supported ruby versions](#supported-ruby-versions)
21
+ * [Usage](#usage)
22
+ * [Useful links](#useful-links)
23
+ * [Development](#development)
24
+ * [Contributing](#contributing)
25
+ * [Changelog](#changelog)
26
+ * [Implementation check list](#implementation-check-list)
27
+ * [TODO](#todo)
28
+ * [Author](#author)
29
+ * [Contributors. Thank you everyone!](#contributors-thank-you-everyone)
30
+ * [License](#license)
31
+
32
+
17
33
  ## Installation
18
34
 
19
35
  Add this line to your application's Gemfile:
@@ -30,7 +46,7 @@ Or install it yourself as:
30
46
 
31
47
  $ gem install eve_online
32
48
 
33
- ## Supported ruby versions:
49
+ ## Supported ruby versions
34
50
 
35
51
  * MRI 1.9.3
36
52
  * MRI 2.0
@@ -39,46 +55,65 @@ Or install it yourself as:
39
55
  * MRI 2.3
40
56
  * MRI 2.4
41
57
  * MRI 2.5 (head)
42
- * JRuby 9.1.5.0
58
+ * JRuby 9.1.8.0
43
59
  * JRuby (head)
44
60
 
61
+ ## Supported rails versions
62
+
63
+ * 4.2
64
+ * 5.0
65
+ * 5.1
66
+ * Edge
67
+
45
68
  ## Usage
46
69
 
47
70
  ### XML API
48
71
 
49
- Account status:
72
+ #### Account status
50
73
 
51
74
  ```ruby
52
75
  key_id = 1234567
53
76
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
54
77
 
55
- account_status = EveOnline::Account::Status.new(key_id, v_code)
78
+ account_status = EveOnline::XML::AccountStatus.new(key_id, v_code)
56
79
 
57
80
  account_status.as_json
58
- # => {:current_time=>Mon, 23 Nov 2015 18:53:46 UTC +00:00, :paid_until=>Mon, 28 Dec 2015 18:12:56 UTC +00:00, :create_date=>Fri, 15 Jan 2010 15:11:00 UTC +00:00, :logon_count=>388, :logon_minutes=>15598, :cached_until=>Mon, 23 Nov 2015 19:28:38 UTC +00:00}
81
+ # => {:paid_until=>Mon, 28 Dec 2015 18:12:56 UTC +00:00, :create_date=>Fri, 15 Jan 2010 15:11:00 UTC +00:00, :logon_count=>388, :logon_minutes=>15598}
59
82
 
60
- account_status.current_time # => Mon, 23 Nov 2015 18:53:46 UTC +00:00
61
83
  account_status.paid_until # => Mon, 28 Dec 2015 18:12:56 UTC +00:00
62
84
  account_status.create_date # => Fri, 15 Jan 2010 15:11:00 UTC +00:00
63
85
  account_status.logon_count # => 388
64
86
  account_status.logon_minutes # => 15598
87
+
88
+ account_status.current_time # => Mon, 23 Nov 2015 18:53:46 UTC +00:00
65
89
  account_status.cached_until # => Mon, 23 Nov 2015 19:28:38 UTC +00:00
66
90
  account_status.version # => 2
91
+
92
+ # TODO: add multi character training support
67
93
  ```
68
94
 
69
- Characters:
95
+ #### Api Key Info
96
+
70
97
  ```ruby
71
98
  key_id = 1234567
72
99
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
73
100
 
74
- characters = EveOnline::Account::Characters.new(key_id, v_code)
75
- characters.version # => 2
76
- characters.current_time # => Mon, 30 Nov 2015 23:31:31 UTC +00:00
77
- characters.cached_until # => Tue, 01 Dec 2015 00:28:31 UTC +00:00
101
+ api_key_info = EveOnline::XML::ApiKeyInfo.new(key_id, v_code)
78
102
 
79
- characters.characters.size # => 2
103
+ api_key_info.as_json
104
+ # => {:access_mask=>1073741823, :api_key_type=>:character, :expires=>Fri, 02 Dec 2016 18:13:59 UTC +00:00}
80
105
 
81
- character = characters.characters.first
106
+ api_key_info.access_mask # => 1073741823
107
+ api_key_info.api_key_type # => :character
108
+ api_key_info.expires # => Fri, 02 Dec 2016 18:13:59 UTC +00:00
109
+
110
+ api_key_info.current_time # => Mon, 30 Nov 2015 23:00:38 UTC +00:00
111
+ api_key_info.cached_until # => Mon, 30 Nov 2015 23:05:38 UTC +00:00
112
+ api_key_info.version # => 2
113
+
114
+ api_key_info.characters.size # => 2
115
+
116
+ character = api_key_info.characters.first
82
117
 
83
118
  character.as_json
84
119
  # => {:character_id=>90729314, :character_name=>"Green Black", :corporation_id=>1000168, :corporation_name=>"Federal Navy Academy", :alliance_id=>0, :alliance_name=>"", :faction_id=>0, :faction_name=>""}
@@ -93,26 +128,20 @@ character.faction_id # => 0
93
128
  character.faction_name # => ""
94
129
  ```
95
130
 
96
- Api Key Info:
131
+ #### Characters
132
+
97
133
  ```ruby
98
134
  key_id = 1234567
99
135
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
100
136
 
101
- api_key_info = EveOnline::Account::ApiKeyInfo.new(key_id, v_code)
102
-
103
- api_key_info.as_json
104
- # => {:expires=>Fri, 02 Dec 2016 18:13:59 UTC +00:00, :api_key_type=>:character, :access_mask=>1073741823, :current_time=>Mon, 30 Nov 2015 23:00:38 UTC +00:00, :cached_until=>Mon, 30 Nov 2015 23:05:38 UTC +00:00}
105
-
106
- api_key_info.expires # => Fri, 02 Dec 2016 18:13:59 UTC +00:00
107
- api_key_info.api_key_type # => :character
108
- api_key_info.access_mask # => 1073741823
109
- api_key_info.version # => 2
110
- api_key_info.current_time # => Mon, 30 Nov 2015 23:00:38 UTC +00:00
111
- api_key_info.cached_until # => Mon, 30 Nov 2015 23:05:38 UTC +00:00
137
+ characters = EveOnline::XML::AccountCharacters.new(key_id, v_code)
138
+ characters.version # => 2
139
+ characters.current_time # => Mon, 30 Nov 2015 23:31:31 UTC +00:00
140
+ characters.cached_until # => Tue, 01 Dec 2015 00:28:31 UTC +00:00
112
141
 
113
- api_key_info.characters.size # => 2
142
+ characters.characters.size # => 2
114
143
 
115
- character = api_key_info.characters.first
144
+ character = characters.characters.first
116
145
 
117
146
  character.as_json
118
147
  # => {:character_id=>90729314, :character_name=>"Green Black", :corporation_id=>1000168, :corporation_name=>"Federal Navy Academy", :alliance_id=>0, :alliance_name=>"", :faction_id=>0, :faction_name=>""}
@@ -127,13 +156,14 @@ character.faction_id # => 0
127
156
  character.faction_name # => ""
128
157
  ```
129
158
 
130
- Accounts Balance:
159
+ #### Character Account Balance
160
+
131
161
  ```ruby
132
162
  key_id = 1234567
133
163
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
134
164
  options = { character_id: 90729314 }
135
165
 
136
- account_balance = EveOnline::Characters::AccountBalance.new(key_id, v_code, options)
166
+ account_balance = EveOnline::XML::CharacterAccountBalance.new(key_id, v_code, options)
137
167
 
138
168
  account_balance.as_json
139
169
  # => {:account_id=>42763123, :account_key=>1000, :balance=>5000.0, :current_time=>Wed, 02 Dec 2015 20:29:32 UTC +00:00, :cached_until=>Wed, 02 Dec 2015 20:40:42 UTC +00:00}
@@ -146,13 +176,14 @@ account_balance.cached_until # => Wed, 02 Dec 2015 20:40:42 UTC +00:00
146
176
  account_balance.version # => 2
147
177
  ```
148
178
 
149
- Asset List:
179
+ #### Character Asset List
180
+
150
181
  ```ruby
151
182
  key_id = 1234567
152
183
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
153
184
  options = { character_id: 90729314 }
154
185
 
155
- asset_list = EveOnline::Characters::AssetList.new(key_id, v_code, options)
186
+ asset_list = EveOnline::XML::CharacterAssetList.new(key_id, v_code, options)
156
187
 
157
188
  asset_list.current_time # => Mon, 29 Feb 2016 21:51:38 UTC +00:00
158
189
  asset_list.cached_until # => Tue, 01 Mar 2016 03:48:38 UTC +00:00
@@ -174,13 +205,14 @@ asset.singleton # => 1
174
205
  asset.raw_quantity # => -1
175
206
  ```
176
207
 
177
- Blueprints:
208
+ #### Character Blueprints
209
+
178
210
  ```ruby
179
211
  key_id = 1234567
180
212
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
181
213
  options = { character_id: 90729314 }
182
214
 
183
- blueprints = EveOnline::Characters::Blueprints.new(key_id, v_code, options)
215
+ blueprints = EveOnline::XML::CharacterBlueprints.new(key_id, v_code, options)
184
216
 
185
217
  blueprints.current_time # => Sun, 03 Jan 2016 14:36:37 UTC +00:00
186
218
  blueprints.cached_until # => Mon, 04 Jan 2016 02:06:37 UTC +00:00
@@ -204,13 +236,14 @@ blueprint.material_efficiency # => 10
204
236
  blueprint.runs # => 300
205
237
  ```
206
238
 
207
- Bookmarks:
239
+ #### Characters Bookmarks
240
+
208
241
  ```ruby
209
242
  key_id = 1234567
210
243
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
211
244
  options = { character_id: 90729314 }
212
245
 
213
- bookmarks = EveOnline::Characters::Bookmarks.new(key_id, v_code, options)
246
+ bookmarks = EveOnline::XML::CharacterBookmarks.new(key_id, v_code, options)
214
247
 
215
248
  bookmarks.current_time # => Sun, 03 Jan 2016 14:53:44 UTC +00:00
216
249
  bookmarks.cached_until # => Sun, 03 Jan 2016 15:50:44 UTC +00:00
@@ -244,14 +277,15 @@ bookmark.memo # => "1"
244
277
  bookmark.note # => ""
245
278
  ```
246
279
 
247
- Calendar Event Attendees:
280
+ #### Character Calendar Event Attendees
281
+
248
282
  ```ruby
249
283
  key_id = 1234567
250
284
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
251
285
  character_id = 90729314
252
286
  event_id = 1234567
253
287
 
254
- cea = EveOnline::Characters::CalendarEventAttendees.new(key_id, v_code, character_id, event_id)
288
+ cea = EveOnline::XML::CharacterCalendarEventAttendees.new(key_id, v_code, character_id, event_id)
255
289
 
256
290
  cea.current_time # => Mon, 21 Dec 2015 18:36:33 UTC +00:00
257
291
  cea.cached_until # => Mon, 21 Dec 2015 18:36:33 UTC +00:00
@@ -261,13 +295,14 @@ cea.version # => 2
261
295
 
262
296
  ````
263
297
 
264
- Character Sheet:
298
+ #### Character Sheet
299
+
265
300
  ```ruby
266
301
  key_id = 1234567
267
302
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
268
303
  options = { character_id: 90729314 }
269
304
 
270
- character_sheet = EveOnline::Characters::CharacterSheet.new(key_id, v_code, options)
305
+ character_sheet = EveOnline::XML::CharacterSheet.new(key_id, v_code, options)
271
306
 
272
307
  character_sheet.current_time # => Sun, 17 Jul 2016 12:27:11 UTC +00:00
273
308
  character_sheet.cached_until # => Sun, 17 Jul 2016 13:24:11 UTC +00:00
@@ -305,12 +340,11 @@ character_sheet.jump_activation # => Mon, 01 Jan 0001 00:00:00 UTC +00:00
305
340
  character_sheet.jump_fatigue # => Mon, 01 Jan 0001 00:00:00 UTC +00:00
306
341
  character_sheet.jump_last_update # => Mon, 01 Jan 0001 00:00:00 UTC +00:00
307
342
  character_sheet.balance # => 5000.0
308
-
309
- character_sheet.base_intelligence # => 21
310
- character_sheet.base_memory # => 21
311
- character_sheet.base_charisma # => 17
312
- character_sheet.base_perception # => 20
313
- character_sheet.base_willpower # => 20
343
+ character_sheet.intelligence # => 21
344
+ character_sheet.memory # => 21
345
+ character_sheet.charisma # => 17
346
+ character_sheet.perception # => 20
347
+ character_sheet.willpower # => 20
314
348
 
315
349
  character_sheet.implants.size # => 5
316
350
 
@@ -357,29 +391,31 @@ jump_clone_implant.type_name # => "Memory Augmentation - Improved"
357
391
 
358
392
  ```
359
393
 
360
- Character chat channels:
394
+ #### Character chat channels
395
+
361
396
  ```ruby
362
397
  key_id = 1234567
363
398
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
364
399
  options = { character_id: 90729314 }
365
400
 
366
- chat_channels = EveOnline::Characters::ChatChannels.new(key_id, v_code, options)
401
+ character_chat_channels = EveOnline::XML::CharacterChatChannels.new(key_id, v_code, options)
367
402
 
368
- chat_channels.current_time # => Fri, 19 Aug 2016 11:05:43 UTC +00:00
369
- chat_channels.cached_until # => Fri, 19 Aug 2016 11:19:44 UTC +00:00
370
- chat_channels.version # => 2
403
+ character_chat_channels.current_time # => Fri, 19 Aug 2016 11:05:43 UTC +00:00
404
+ character_chat_channels.cached_until # => Fri, 19 Aug 2016 11:19:44 UTC +00:00
405
+ character_chat_channels.version # => 2
371
406
 
372
407
  # TODO: finish this
373
408
 
374
409
  ```
375
410
 
376
- Character contact list:
411
+ #### Character contact list
412
+
377
413
  ```ruby
378
414
  key_id = 1234567
379
415
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
380
416
  options = { character_id: 90729314 }
381
417
 
382
- contact_list = EveOnline::Characters::ContactList.new(key_id, v_code, options)
418
+ contact_list = EveOnline::XML::CharacterContactList.new(key_id, v_code, options)
383
419
 
384
420
  contact_list.current_time # => Fri, 19 Aug 2016 11:08:06 UTC +00:00
385
421
  contact_list.cached_until # => Fri, 19 Aug 2016 11:22:07 UTC +00:00
@@ -389,13 +425,14 @@ contact_list.version # => 2
389
425
 
390
426
  ```
391
427
 
392
- Character contact notifications:
428
+ #### Character contact notifications
429
+
393
430
  ```ruby
394
431
  key_id = 1234567
395
432
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
396
433
  character_id = 90729314
397
434
 
398
- contact_notifications = EveOnline::Characters::ContactNotifications.new(key_id, v_code, character_id)
435
+ contact_notifications = EveOnline::XML::CharacterContactNotifications.new(key_id, v_code, character_id)
399
436
 
400
437
  contact_notifications.current_time # => Fri, 19 Aug 2016 11:10:23 UTC +00:00
401
438
  contact_notifications.cached_until # => Fri, 19 Aug 2016 11:37:23 UTC +00:00
@@ -414,13 +451,14 @@ contact_notification.sent_date # => Sat, 19 Mar 2016 12:13:00 UTC +00:00
414
451
  contact_notification.message_data # => "level: 5\nmessage: ''\n"
415
452
  ```
416
453
 
417
- Character contract bids:
454
+ #### Character contract bids
455
+
418
456
  ```ruby
419
457
  key_id = 1234567
420
458
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
421
459
  character_id = 90729314
422
460
 
423
- contract_bids = EveOnline::Characters::ContractBids.new(key_id, v_code, character_id)
461
+ contract_bids = EveOnline::XML::CharacterContractBids.new(key_id, v_code, character_id)
424
462
 
425
463
  contract_bids.current_time # => Fri, 19 Aug 2016 12:11:52 UTC +00:00
426
464
  contract_bids.cached_until # => Fri, 19 Aug 2016 12:25:52 UTC +00:00
@@ -430,26 +468,28 @@ contract_bids.version # => 2
430
468
 
431
469
  ```
432
470
 
433
- Character contract items:
471
+ #### Character contract items
472
+
434
473
  ```ruby
435
474
  key_id = 1234567
436
475
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
437
476
  character_id = 90729314
438
477
  contract_id = 1234 # TODO: recheck
439
478
 
440
- contract_items = EveOnline::Characters::ContractItems.new(key_id, v_code, character_id, contract_id)
479
+ contract_items = EveOnline::XML::CharacterContractItems.new(key_id, v_code, character_id, contract_id)
441
480
 
442
481
  # TODO: finish this
443
482
 
444
483
  ```
445
484
 
446
- Character contacts:
485
+ #### Character contacts
486
+
447
487
  ```ruby
448
488
  key_id = 1234567
449
489
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
450
490
  character_id = 90729314
451
491
 
452
- contracts = EveOnline::Characters::Contracts.new(key_id, v_code, character_id)
492
+ contracts = EveOnline::XML::CharacterContracts.new(key_id, v_code, character_id)
453
493
 
454
494
  contracts.current_time # => Fri, 19 Aug 2016 10:57:38 UTC +00:00
455
495
  contracts.cached_until # => Fri, 19 Aug 2016 11:11:38 UTC +00:00
@@ -459,25 +499,27 @@ contracts.version # => 2
459
499
 
460
500
  ```
461
501
 
462
- Character factional warfare stats:
502
+ #### Character factional warfare stats
503
+
463
504
  ```ruby
464
505
  key_id = 1234567
465
506
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
466
507
  character_id = 90729314
467
508
 
468
- fac_war_stats = EveOnline::Characters::FacWarStats.new(key_id, v_code, character_id)
509
+ fac_war_stats = EveOnline::XML::CharacterFacWarStats.new(key_id, v_code, character_id)
469
510
 
470
511
  # TODO: finish this
471
512
 
472
513
  ```
473
514
 
474
- Character industry jobs:
515
+ #### Character industry jobs
516
+
475
517
  ```ruby
476
518
  key_id = 1234567
477
519
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
478
520
  character_id = 90729314
479
521
 
480
- industry_jobs = EveOnline::Characters::IndustryJobs.new(key_id, v_code, character_id)
522
+ industry_jobs = EveOnline::XML::CharacterIndustryJobs.new(key_id, v_code, character_id)
481
523
 
482
524
  industry_jobs.current_time # => Mon, 22 Aug 2016 14:10:13 UTC +00:00
483
525
  industry_jobs.cached_until # => Mon, 22 Aug 2016 14:24:13 UTC +00:00
@@ -487,13 +529,14 @@ industry_jobs.version # => 2
487
529
 
488
530
  ```
489
531
 
490
- Character industry jobs history:
532
+ #### Character industry jobs history
533
+
491
534
  ```ruby
492
535
  key_id = 1234567
493
536
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
494
537
  character_id = 90729314
495
538
 
496
- industry_jobs_history = EveOnline::Characters::IndustryJobsHistory.new(key_id, v_code, character_id)
539
+ industry_jobs_history = EveOnline::XML::CharacterIndustryJobsHistory.new(key_id, v_code, character_id)
497
540
 
498
541
  industry_jobs_history.current_time # => Mon, 22 Aug 2016 14:53:37 UTC +00:00
499
542
  industry_jobs_history.cached_until # => Mon, 22 Aug 2016 20:29:37 UTC +00:00
@@ -503,13 +546,14 @@ industry_jobs_history.version # => 2
503
546
 
504
547
  ```
505
548
 
506
- Character kill mails:
549
+ #### Character kill mails
550
+
507
551
  ```ruby
508
552
  key_id = 1234567
509
553
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
510
554
  character_id = 90729314
511
555
 
512
- kill_mails = EveOnline::Characters::KillMails.new(key_id, v_code, character_id)
556
+ kill_mails = EveOnline::XML::CharacterKillMails.new(key_id, v_code, character_id)
513
557
 
514
558
  kill_mails.current_time # => Fri, 26 Aug 2016 10:27:38 UTC +00:00
515
559
  kill_mails.cached_until # => Fri, 26 Aug 2016 10:54:38 UTC +00:00
@@ -519,14 +563,15 @@ kill_mails.version # => 2
519
563
 
520
564
  ```
521
565
 
522
- Character locations:
566
+ #### Character locations
567
+
523
568
  ```ruby
524
569
  key_id = 1234567
525
570
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
526
571
  character_id = 90729314
527
572
  ids = [123456]
528
573
 
529
- locations = EveOnline::Characters::Locations.new(key_id, v_code, character_id, ids)
574
+ locations = EveOnline::XML::CharacterLocations.new(key_id, v_code, character_id, ids)
530
575
 
531
576
  locations.current_time # => Fri, 26 Aug 2016 11:01:53 UTC +00:00
532
577
  locations.cached_until # => Fri, 26 Aug 2016 12:01:53 UTC +00:00
@@ -536,14 +581,15 @@ locations.version # => 2
536
581
 
537
582
  ```
538
583
 
539
- Character mail bodies:
584
+ #### Character mail bodies
585
+
540
586
  ```ruby
541
587
  key_id = 1234567
542
588
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
543
589
  character_id = 90729314
544
590
  ids = [123456]
545
591
 
546
- mail_bodies = EveOnline::Characters::MailBodies.new(key_id, v_code, character_id, ids)
592
+ mail_bodies = EveOnline::XML::CharacterMailBodies.new(key_id, v_code, character_id, ids)
547
593
 
548
594
  mail_bodies.current_time # => Fri, 26 Aug 2016 11:13:55 UTC +00:00
549
595
  mail_bodies.cached_until # => Mon, 24 Aug 2026 11:13:55 UTC +00:00
@@ -553,13 +599,14 @@ mail_bodies.version # => 2
553
599
 
554
600
  ```
555
601
 
556
- Character mailing lists:
602
+ #### Character mailing lists
603
+
557
604
  ```ruby
558
605
  key_id = 1234567
559
606
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
560
607
  character_id = 90729314
561
608
 
562
- mailing_lists = EveOnline::Characters::MailingLists.new(key_id, v_code, character_id)
609
+ mailing_lists = EveOnline::XML::CharacterMailingLists.new(key_id, v_code, character_id)
563
610
 
564
611
  mailing_lists.current_time # => Fri, 26 Aug 2016 12:38:48 UTC +00:00
565
612
  mailing_lists.cached_until # => Fri, 26 Aug 2016 18:35:48 UTC +00:00
@@ -569,13 +616,14 @@ mailing_lists.version # => 2
569
616
 
570
617
  ```
571
618
 
572
- Character mail messages headers:
619
+ #### Character mail messages headers
620
+
573
621
  ```ruby
574
622
  key_id = 1234567
575
623
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
576
624
  character_id = 90729314
577
625
 
578
- mail_messages = EveOnline::Characters::MailMessages.new(key_id, v_code, character_id)
626
+ mail_messages = EveOnline::XML::CharacterMailMessages.new(key_id, v_code, character_id)
579
627
 
580
628
  mail_messages.current_time # => Fri, 26 Aug 2016 12:49:38 UTC +00:00
581
629
  mail_messages.cached_until # => Fri, 26 Aug 2016 13:03:38 UTC +00:00
@@ -585,13 +633,14 @@ mail_messages.version # => 2
585
633
 
586
634
  ```
587
635
 
588
- Character market orders:
636
+ #### Character market orders
637
+
589
638
  ```ruby
590
639
  key_id = 1234567
591
640
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
592
641
  options = { character_id: 90729314 }
593
642
 
594
- market_orders = EveOnline::Characters::MarketOrders.new(key_id, v_code, options)
643
+ market_orders = EveOnline::XML::CharacterMarketOrders.new(key_id, v_code, options)
595
644
 
596
645
  market_orders.current_time # => Fri, 26 Aug 2016 13:56:17 UTC +00:00
597
646
  market_orders.cached_until # => Fri, 26 Aug 2016 14:53:17 UTC +00:00
@@ -620,29 +669,31 @@ marker_order.bid # => false
620
669
  marker_order.issued # => Thu, 01 Sep 2016 20:01:57 UTC +00:00
621
670
  ```
622
671
 
623
- Character medals:
672
+ #### Character medals
673
+
624
674
  ```ruby
625
675
  key_id = 1234567
626
676
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
627
677
  character_id = 90729314
628
678
 
629
- medals = EveOnline::Characters::Medals.new(key_id, v_code, character_id)
679
+ character_medals = EveOnline::XML::CharacterMedals.new(key_id, v_code, character_id)
630
680
 
631
- medals.current_time # => Fri, 01 Jul 2016 14:22:43 UTC +00:00
632
- medals.cached_until # => Fri, 01 Jul 2016 20:13:49 UTC +00:00
633
- medals.version # => 2
681
+ character_medals.current_time # => Fri, 01 Jul 2016 14:22:43 UTC +00:00
682
+ character_medals.cached_until # => Fri, 01 Jul 2016 20:13:49 UTC +00:00
683
+ character_medals.version # => 2
634
684
 
635
685
  # TODO: finish this
636
686
 
637
687
  ```
638
688
 
639
- Character notification headers:
689
+ #### Character notification headers
690
+
640
691
  ```ruby
641
692
  key_id = 1234567
642
693
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
643
694
  character_id = 90729314
644
695
 
645
- notifications = EveOnline::Characters::Notifications.new(key_id, v_code, character_id)
696
+ notifications = EveOnline::XML::CharacterNotifications.new(key_id, v_code, character_id)
646
697
 
647
698
  notifications.current_time # => Fri, 26 Aug 2016 14:02:06 UTC +00:00
648
699
  notifications.cached_until # => Fri, 26 Aug 2016 14:29:06 UTC +00:00
@@ -652,14 +703,15 @@ notifications.version # => 2
652
703
 
653
704
  ```
654
705
 
655
- Character notification texts:
706
+ #### Character notification texts
707
+
656
708
  ```ruby
657
709
  key_id = 1234567
658
710
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
659
711
  character_id = 90729314
660
712
  ids = [123_456]
661
713
 
662
- notification_texts = EveOnline::Characters::NotificationTexts.new(key_id, v_code, character_id, ids)
714
+ notification_texts = EveOnline::XML::CharacterNotificationTexts.new(key_id, v_code, character_id, ids)
663
715
 
664
716
  notification_texts.current_time # => Sat, 27 Aug 2016 18:12:52 UTC +00:00
665
717
  notification_texts.cached_until # => Tue, 25 Aug 2026 18:12:52 UTC +00:00
@@ -669,13 +721,14 @@ notification_texts.version # => 2
669
721
 
670
722
  ```
671
723
 
672
- Retrieve planetary colonies owned by character:
724
+ #### Retrieve planetary colonies owned by character
725
+
673
726
  ```ruby
674
727
  key_id = 1234567
675
728
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
676
729
  character_id = 90729314
677
730
 
678
- planetary_colonies = EveOnline::Characters::PlanetaryColonies.new(key_id, v_code, character_id)
731
+ planetary_colonies = EveOnline::XML::CharacterPlanetaryColonies.new(key_id, v_code, character_id)
679
732
 
680
733
  planetary_colonies.current_time # => Sat, 27 Aug 2016 18:29:02 UTC +00:00
681
734
  planetary_colonies.cached_until # => Sat, 27 Aug 2016 19:29:02 UTC +00:00
@@ -685,7 +738,7 @@ planetary_colonies.version # => 2
685
738
 
686
739
  ```
687
740
 
688
- Retrieve planetary links for colonies owned by character.
741
+ #### Retrieve planetary links for colonies owned by character
689
742
 
690
743
  ```ruby
691
744
  key_id = 1234567
@@ -693,7 +746,7 @@ v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
693
746
  character_id = 90729314
694
747
  planet_id = 123_456
695
748
 
696
- planetary_links = EveOnline::Characters::PlanetaryLinks.new(key_id, v_code, character_id, planet_id)
749
+ planetary_links = EveOnline::XML::CharacterPlanetaryLinks.new(key_id, v_code, character_id, planet_id)
697
750
 
698
751
  planetary_links.current_time # => Sat, 27 Aug 2016 18:40:23 UTC +00:00
699
752
  planetary_links.cached_until # => Sat, 27 Aug 2016 19:40:23 UTC +00:00
@@ -703,7 +756,7 @@ planetary_links.version # => 2
703
756
 
704
757
  ```
705
758
 
706
- Retrieve planetary pins for colonies owned by character.
759
+ #### Retrieve planetary pins for colonies owned by character
707
760
 
708
761
  ```ruby
709
762
  key_id = 1234567
@@ -711,7 +764,7 @@ v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
711
764
  character_id = 90729314
712
765
  planet_id = 123_456
713
766
 
714
- planetary_pins = EveOnline::Characters::PlanetaryPins.new(key_id, v_code, character_id, planet_id)
767
+ planetary_pins = EveOnline::XML::CharacterPlanetaryPins.new(key_id, v_code, character_id, planet_id)
715
768
 
716
769
  planetary_pins.current_time # => Sat, 27 Aug 2016 18:48:36 UTC +00:00
717
770
  planetary_pins.cached_until # => Sat, 27 Aug 2016 19:48:36 UTC +00:00
@@ -721,7 +774,7 @@ planetary_pins.version # => 2
721
774
 
722
775
  ```
723
776
 
724
- Retrieve planetary routes for colonies owned by character.
777
+ #### Retrieve planetary routes for colonies owned by character
725
778
 
726
779
  ```ruby
727
780
  key_id = 1234567
@@ -729,7 +782,7 @@ v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
729
782
  character_id = 90729314
730
783
  planet_id = 123_456
731
784
 
732
- planetary_routes = EveOnline::Characters::PlanetaryRoutes.new(key_id, v_code, character_id, planet_id)
785
+ planetary_routes = EveOnline::XML::CharacterPlanetaryRoutes.new(key_id, v_code, character_id, planet_id)
733
786
 
734
787
  planetary_routes.current_time # => Sat, 27 Aug 2016 20:38:42 UTC +00:00
735
788
  planetary_routes.cached_until # => Sat, 27 Aug 2016 21:38:42 UTC +00:00
@@ -739,14 +792,14 @@ planetary_routes.version # => 2
739
792
 
740
793
  ```
741
794
 
742
- Retrieve character research.
795
+ #### Retrieve character research
743
796
 
744
797
  ```ruby
745
798
  key_id = 1234567
746
799
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
747
800
  character_id = 90729314
748
801
 
749
- research = EveOnline::Characters::Research.new(key_id, v_code, character_id)
802
+ research = EveOnline::XML::CharacterResearch.new(key_id, v_code, character_id)
750
803
 
751
804
  research.current_time # => Sat, 27 Aug 2016 20:47:32 UTC +00:00
752
805
  research.cached_until # => Sat, 27 Aug 2016 21:01:32 UTC +00:00
@@ -756,22 +809,22 @@ research.version # => 2
756
809
 
757
810
  ```
758
811
 
759
- Retrieve character skill queue.
812
+ #### Retrieve character skill queue
760
813
 
761
814
  ```ruby
762
815
  key_id = 1234567
763
816
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
764
817
  character_id = 90729314
765
818
 
766
- skill_queue = EveOnline::Characters::SkillQueue.new(key_id, v_code, character_id)
819
+ character_skill_queue = EveOnline::XML::CharacterSkillQueue.new(key_id, v_code, character_id)
767
820
 
768
- skill_queue.current_time # => Sat, 27 Aug 2016 21:06:27 UTC +00:00
769
- skill_queue.cached_until # => Sat, 27 Aug 2016 21:07:58 UTC +00:00
770
- skill_queue.version # => 2
821
+ character_skill_queue.current_time # => Sat, 27 Aug 2016 21:06:27 UTC +00:00
822
+ character_skill_queue.cached_until # => Sat, 27 Aug 2016 21:07:58 UTC +00:00
823
+ character_skill_queue.version # => 2
771
824
 
772
- skill_queue.skills.size # => 11
825
+ character_skill_queue.skills.size # => 11
773
826
 
774
- skill_queue_entry = skill_queue.skills.first
827
+ skill_queue_entry = character_skill_queue.skills.first
775
828
 
776
829
  skill_queue_entry.as_json
777
830
  # => {:queue_position=>0, :type_id=>3420, :level=>5, :start_sp=>181020, :end_sp=>1024000, :start_time=>Mon, 15 Aug 2016 17:25:30 UTC +00:00, :end_time=>Wed, 31 Aug 2016 23:41:36 UTC +00:00}
@@ -785,13 +838,14 @@ skill_queue_entry.start_time # => Mon, 15 Aug 2016 17:25:30 UTC +00:00
785
838
  skill_queue_entry.end_time # => Wed, 31 Aug 2016 23:41:36 UTC +00:00
786
839
  ```
787
840
 
788
- Skill In Training:
841
+ #### Character skill in training
842
+
789
843
  ```ruby
790
844
  key_id = 1234567
791
845
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
792
846
  character_id = 90729314
793
847
 
794
- skill_in_training = EveOnline::Characters::SkillInTraining.new(key_id, v_code, character_id)
848
+ skill_in_training = EveOnline::XML::CharacterSkillInTraining.new(key_id, v_code, character_id)
795
849
 
796
850
  skill_in_training.current_time # => Sun, 03 Jan 2016 16:09:15 UTC +00:00
797
851
  skill_in_training.cached_until # => Sun, 03 Jan 2016 16:51:29 UTC +00:00
@@ -810,13 +864,14 @@ skill_in_training.training_to_level # => 5
810
864
  skill_in_training.skill_in_training # => 1
811
865
  ```
812
866
 
813
- Standings:
867
+ #### Character standings
868
+
814
869
  ```ruby
815
870
  key_id = 1234567
816
871
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
817
872
  character_id = 90729314
818
873
 
819
- standings = EveOnline::Characters::Standings.new(key_id, v_code, character_id)
874
+ standings = EveOnline::XML::CharacterStandings.new(key_id, v_code, character_id)
820
875
 
821
876
  standings.current_time # => Thu, 18 Aug 2016 14:50:50 UTC +00:00
822
877
  standings.cached_until # => Thu, 18 Aug 2016 17:47:50 UTC +00:00
@@ -853,13 +908,14 @@ faction.from_name # => "Caldari State"
853
908
  faction.standing # => 0.33
854
909
  ```
855
910
 
856
- Upcoming Calender Events:
911
+ #### Character upcoming calender events
912
+
857
913
  ```ruby
858
914
  key_id = 1234567
859
915
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
860
916
  character_id = 90729314
861
917
 
862
- upcoming_events = EveOnline::Characters::UpcomingCalendarEvents.new(key_id, v_code, character_id)
918
+ upcoming_events = EveOnline::XML::CharacterUpcomingCalendarEvents.new(key_id, v_code, character_id)
863
919
 
864
920
  upcoming_events.current_time # => Thu, 17 Dec 2015 20:43:46 UTC +00:00
865
921
  upcoming_events.cached_until # => Thu, 17 Dec 2015 21:40:46 UTC +00:00
@@ -884,14 +940,14 @@ event.event_text # => "<b>Minmatar Control Tower</b> will run out of fuel and go
884
940
  event.owner_type_id # => 2
885
941
  ```
886
942
 
887
- Retrieve character wallet journal.
943
+ #### Retrieve character wallet journal
888
944
 
889
945
  ```ruby
890
946
  key_id = 1234567
891
947
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
892
948
  character_id = 90729314
893
949
 
894
- wallet_journal = EveOnline::Characters::WalletJournal.new(key_id, v_code, character_id)
950
+ wallet_journal = EveOnline::XML::CharacterWalletJournal.new(key_id, v_code, character_id)
895
951
 
896
952
  wallet_journal.current_time # => Sat, 27 Aug 2016 21:14:20 UTC +00:00
897
953
  wallet_journal.cached_until # => Sat, 27 Aug 2016 21:41:20 UTC +00:00
@@ -921,14 +977,14 @@ wallet_journal_entry.owner1_type_id # => 1380
921
977
  wallet_journal_entry.owner2_type_id # => 2
922
978
  ```
923
979
 
924
- Retrieve character wallet transactions.
980
+ #### Retrieve character wallet transactions
925
981
 
926
982
  ```ruby
927
983
  key_id = 1234567
928
984
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
929
985
  character_id = 90729314
930
986
 
931
- wallet_transactions = EveOnline::Characters::WalletTransactions.new(key_id, v_code, character_id)
987
+ wallet_transactions = EveOnline::XML::CharacterWalletTransactions.new(key_id, v_code, character_id)
932
988
 
933
989
  wallet_transactions.current_time # => Sat, 27 Aug 2016 21:23:53 UTC +00:00
934
990
  wallet_transactions.cached_until # => Sat, 27 Aug 2016 21:50:53 UTC +00:00
@@ -938,13 +994,14 @@ wallet_transactions.version # => 2
938
994
 
939
995
  ```
940
996
 
941
- Corporation market orders:
997
+ #### Corporation market orders
998
+
942
999
  ```ruby
943
1000
  key_id = 1234567
944
1001
  v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
945
1002
  options = { character_id: 90729314 }
946
1003
 
947
- market_orders = EveOnline::Corporations::MarketOrders.new(key_id, v_code, options)
1004
+ corporation_market_orders = EveOnline::XML::CorporationMarketOrders.new(key_id, v_code, options)
948
1005
 
949
1006
  # TODO: finish this
950
1007
 
@@ -963,10 +1020,10 @@ characters_ids.version # => 2
963
1020
  characters_ids.response # => {"eveapi"=>{"currentTime"=>"2016-04-11 18:51:01", "result"=>{"rowset"=>{"row"=>{"@name"=>"Johnn Dillinger", "@characterID"=>"1337512245"}, "@name"=>"characters", "@key"=>"characterID", "@columns"=>"name,characterID"}}, "cachedUntil"=>"2016-05-11 18:51:01", "@version"=>"2"}}
964
1021
  ```
965
1022
 
966
- Server status:
1023
+ #### Server status
967
1024
 
968
1025
  ```ruby
969
- status = EveOnline::Server::Status.new
1026
+ status = EveOnline::XML::ServerStatus.new
970
1027
 
971
1028
  status.as_json
972
1029
  # => {:current_time=>Mon, 23 Nov 2015 18:18:29 UTC +00:00, :cached_until=>Mon, 23 Nov 2015 18:19:44 UTC +00:00, :server_open=>true, :online_players=>25611}
@@ -978,7 +1035,7 @@ status.online_players # => 25611
978
1035
  status.version # => 2
979
1036
  ```
980
1037
 
981
- ## CREST Examples
1038
+ ### CREST Examples
982
1039
 
983
1040
  Sovereignty campaigns:
984
1041
 
@@ -1105,6 +1162,19 @@ loyalty_point.corporation_id # => 1000035
1105
1162
  loyalty_point.loyalty_points # => 14163
1106
1163
  ```
1107
1164
 
1165
+ #### EVE Server status
1166
+
1167
+ ```ruby
1168
+ server_status = EveOnline::ESI::ServerStatus.new
1169
+
1170
+ server_status.as_json # => {:start_time=>Tue, 11 Apr 2017 11:05:35 UTC +00:00, :players=>34545, :server_version=>"1135520", :vip=>nil}
1171
+
1172
+ server_status.start_time # => Tue, 11 Apr 2017 11:05:35 UTC +00:00
1173
+ server_status.players # => 34545
1174
+ server_status.server_version # => "1135520"
1175
+ server_status.vip # => nil
1176
+ ```
1177
+
1108
1178
  ### SDE Examples
1109
1179
 
1110
1180
  Agent Types:
@@ -1199,7 +1269,7 @@ inv_name.item_id # => 0
1199
1269
  inv_name.item_name # => "(none)"
1200
1270
  ```
1201
1271
 
1202
- Invertory Positions:
1272
+ Inventory Positions:
1203
1273
  ```ruby
1204
1274
  file = 'invPositions.yaml'
1205
1275
 
@@ -1241,8 +1311,57 @@ chr_race.short_description # => ""
1241
1311
  chr_race.description # => "The most mysterious and elusive of all the universe's peoples..."
1242
1312
  ```
1243
1313
 
1314
+ ## Exceptions
1315
+
1316
+ If you want to catch all exceptions `rescue` `EveOnline::Exceptions::Base`. E.g.:
1317
+
1318
+ ```ruby
1319
+ begin
1320
+ key_id = 1234567
1321
+ v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
1322
+ options = { character_id: 90729314 }
1323
+
1324
+ account_balance = EveOnline::XML::CharacterAccountBalance.new(key_id, v_code, options)
1325
+
1326
+ account_balance.as_json
1327
+ rescue EveOnline::Exceptions::Base
1328
+ # some logic for handle exception
1329
+ end
1330
+ ```
1331
+
1332
+ If api key (XML) have many characters and you miss `character_id` you will get `EveOnline::Exceptions::InvalidCharacterIDException`.
1333
+
1334
+ If api key (XML) invalid (wrong key_id/v_code or key is expired) you will get `EveOnline::Exceptions::UnauthorizedException`. E.g.:
1335
+
1336
+ ```ruby
1337
+ begin
1338
+ key_id = 1234567
1339
+ v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
1340
+ options = { character_id: 90729314 }
1341
+
1342
+ account_balance = EveOnline::XML::CharacterAccountBalance.new(key_id, v_code, options)
1343
+
1344
+ account_balance.as_json
1345
+ rescue EveOnline::Exceptions::UnauthorizedException
1346
+ # some logic for handle exception. e.g. mark api keys as invalid
1347
+ end
1348
+ ```
1349
+
1350
+ Timeout. `EveOnline::Exceptions::TimeoutException`.
1351
+
1352
+ ## Timeouts
1353
+
1354
+ `eve_online` gem uses `faraday` for network request. `faraday` configured with:
1355
+ ```ruby
1356
+ faraday = Faraday.new
1357
+
1358
+ faraday.options.timeout = 60
1359
+ faraday.options.open_timeout = 60
1360
+ ```
1361
+
1244
1362
  ## Useful links
1245
1363
 
1364
+ * [BREAKING CHANGES AND YOU - HOW TO USE ALT-ROUTES TO ENHANCE YOUR SANITY](https://developers.eveonline.com/blog/article/breaking-changes-and-you)
1246
1365
  * [TECHNICAL NOTE: INTEGER SIZES AND THE XML API](https://developers.eveonline.com/blog/article/technical-note-integer-sizes-and-the-xml-api)
1247
1366
  * [THE END OF PUBLIC CREST AS WE KNOW IT](https://developers.eveonline.com/blog/article/the-end-of-public-crest-as-we-know-it)
1248
1367
  * [CCP, zKillboard (Eve-Kill), and your API](https://docs.google.com/document/d/16YfJwjhuH5A3cS4NTMDFDkprnOVKsvgtuRIKk8xjTM8/edit)
@@ -1261,6 +1380,63 @@ Issue reports and pull requests are welcome on GitHub at https://github.com/biow
1261
1380
 
1262
1381
  ## Changelog
1263
1382
 
1383
+ **v0.12.0**
1384
+
1385
+ * **Breaking change**. Rename `EveOnline::Exceptions::Exception` to `EveOnline::Exceptions::Base`.
1386
+ * Add `EveOnline::XML::Base` class
1387
+ * Add `EveOnline::Exceptions::UnauthorizedException`
1388
+ * Add `EveOnline::Exceptions::InvalidCharacterIDException`
1389
+ * Test with Rails 5.1.0 too
1390
+ * Rename `EveOnline::Account::Status` to `EveOnline::XML::AccountStatus`
1391
+ * Rename `EveOnline::Account::ApiKeyInfo` to `EveOnline::XML::ApiKeyInfo`
1392
+ * Rename `EveOnline::Account::Characters` to `EveOnline::XML::AccountCharacters`
1393
+ * Rename `EveOnline::Characters::AccountBalance` to `EveOnline::XML::CharacterAccountBalance`
1394
+ * Rename `EveOnline::Characters::AssetList` to `EveOnline::XML::CharacterAssetList`
1395
+ * Rename `EveOnline::Characters::Blueprints` to `EveOnline::XML::CharacterBlueprints`
1396
+ * Rename `EveOnline::Characters::Bookmarks` to `EveOnline::XML::CharacterBookmarks`
1397
+ * Rename `EveOnline::Characters::CharacterSheet` to `EveOnline::XML::CharacterSheet`
1398
+ * Rename `EveOnline::Corporations::MarketOrders` to `EveOnline::XML::CorporationMarketOrders`
1399
+ * Rename `EveOnline::Server::Status` to `EveOnline::XML::ServerStatus`
1400
+ * Rename `EveOnline::Characters::Medals` to `EveOnline::XML::CharacterMedals`
1401
+ * Rename `EveOnline::Characters::SkillQueue` to `EveOnline::XML::CharacterSkillQueue`
1402
+ * Rename `EveOnline::Characters::ChatChannels` to `EveOnline::XML::CharacterChatChannels`
1403
+ * Rename `EveOnline::Characters::CalendarEventAttendees` to `EveOnline::XML::CharacterCalendarEventAttendees`
1404
+ * Rename `EveOnline::Characters::ContractBids` to `EveOnline::XML::CharacterContractBids`
1405
+ * Rename `EveOnline::Characters::ContractItems` to `EveOnline::XML::CharacterContractItems`
1406
+ * Rename `EveOnline::Characters::ContactList` to `EveOnline::XML::CharacterContactList`
1407
+ * Rename `EveOnline::Characters::ContactNotifications` to `EveOnline::XML::CharacterContactNotifications`
1408
+ * Rename `EveOnline::Characters::Contracts` to `EveOnline::XML::CharacterContracts`
1409
+ * Rename `EveOnline::Characters::FacWarStats` to `EveOnline::XML::CharacterFacWarStats`
1410
+ * Rename `EveOnline::Characters::IndustryJobsHistory` to `EveOnline::XML::CharacterIndustryJobsHistory`
1411
+ * Rename `EveOnline::Characters::IndustryJobs` to `EveOnline::XML::CharacterIndustryJobs`
1412
+ * Rename `EveOnline::Characters::KillMails` to `EveOnline::XML::CharacterKillMails`
1413
+ * Rename `EveOnline::Characters::Locations` to `EveOnline::XML::CharacterLocations`
1414
+ * Rename `EveOnline::Characters::MailBodies` to `EveOnline::XML::CharacterMailBodies`
1415
+ * Rename `EveOnline::Characters::MailMessages` to `EveOnline::XML::CharacterMailMessages`
1416
+ * Rename `EveOnline::Characters::MailingLists` to `EveOnline::XML::CharacterMailingLists`
1417
+ * Rename `EveOnline::Characters::MarketOrders` to `EveOnline::XML::CharacterMarketOrders`
1418
+ * Rename `EveOnline::Characters::NotificationTexts` to `EveOnline::XML::CharacterNotificationTexts`
1419
+ * Rename `EveOnline::Characters::Notifications` to `EveOnline::XML::CharacterNotifications`
1420
+ * Rename `EveOnline::Characters::PlanetaryColonies` to `EveOnline::XML::CharacterPlanetaryColonies`
1421
+ * Rename `EveOnline::Characters::PlanetaryLinks` to `EveOnline::XML::CharacterPlanetaryLinks`
1422
+ * Rename `EveOnline::Characters::PlanetaryPins` to `EveOnline::XML::CharacterPlanetaryPins`
1423
+ * Rename `EveOnline::Characters::PlanetaryRoutes` to `EveOnline::XML::CharacterPlanetaryRoutes`
1424
+ * Rename `EveOnline::Characters::Research` to `EveOnline::XML::CharacterResearch`
1425
+ * Rename `EveOnline::Characters::SkillInTraining` to `EveOnline::XML::CharacterSkillInTraining`
1426
+ * Rename `EveOnline::Characters::Standings` to `EveOnline::XML::CharacterStandings`
1427
+ * Rename `EveOnline::Characters::UpcomingCalendarEvents` to `EveOnline::XML::CharacterUpcomingCalendarEvents`
1428
+ * Rename `EveOnline::Characters::WalletJournal` to `EveOnline::XML::CharacterWalletJournal`
1429
+ * Rename `EveOnline::Characters::WalletTransactions` to `EveOnline::XML::CharacterWalletTransactions`
1430
+ * Rename `EveOnline::XML::CharacterSheet#base_intelligence` to `EveOnline::XML::CharacterSheet#intelligence`
1431
+ * Rename `EveOnline::XML::CharacterSheet#base_memory` to `EveOnline::XML::CharacterSheet#memory`
1432
+ * Rename `EveOnline::XML::CharacterSheet#base_charisma` to `EveOnline::XML::CharacterSheet#charisma`
1433
+ * Rename `EveOnline::XML::CharacterSheet#base_perception` to `EveOnline::XML::CharacterSheet#perception`
1434
+ * Rename `EveOnline::XML::CharacterSheet#base_willpower` to `EveOnline::XML::CharacterSheet#willpower`
1435
+ * Fix `EveOnline::ESI::Character`
1436
+ * Use versioned API endpoints
1437
+ * Ignore missed fields in responses
1438
+ * Add `EveOnline::ESI::ServerStatus`
1439
+
1264
1440
  **v0.11.0**
1265
1441
 
1266
1442
  * Add SDE support classes
@@ -1428,7 +1604,7 @@ Issue reports and pull requests are welcome on GitHub at https://github.com/biow
1428
1604
 
1429
1605
  * [Server Status](https://eveonline-third-party-documentation.readthedocs.io/en/latest/xmlapi/server/serv_serverstatus.html)
1430
1606
 
1431
- ## Implementation check list:
1607
+ ## Implementation check list
1432
1608
 
1433
1609
  ### Account
1434
1610