eve_online 0.2.0 → 0.3.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.
- checksums.yaml +4 -4
- data/.travis.yml +5 -0
- data/Gemfile +2 -0
- data/README.md +164 -3
- data/eve_online.gemspec +4 -0
- data/lib/eve_online.rb +5 -4
- data/lib/eve_online/account/api_key_info.rb +72 -0
- data/lib/eve_online/account/characters.rb +56 -0
- data/lib/eve_online/account/status.rb +45 -0
- data/lib/eve_online/base.rb +26 -0
- data/lib/eve_online/character/account_balance.rb +36 -0
- data/lib/eve_online/server/status.rb +33 -0
- data/lib/eve_online/version.rb +1 -1
- metadata +22 -7
- data/lib/eve_online/account_balance.rb +0 -53
- data/lib/eve_online/account_status.rb +0 -47
- data/lib/eve_online/api_key_info.rb +0 -89
- data/lib/eve_online/server_status.rb +0 -42
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fa0f57b29bc9c6d56a9df5c336044116b4bdb07d
|
4
|
+
data.tar.gz: 87deec1074a0c526c0e1a0516f882fe0df146d46
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2bffc8580c0780b0625ff0757842db30667a50d38b01edad2469dcee4aa39ff3c1c9dd910ef100f7ea552f9edd5e07d5a5931003f4c49caf8dac81ef3967ab01
|
7
|
+
data.tar.gz: 178fc0021e6838c2885d0b570238b5394d8e8d6d3c0a77e38cf64e75abbb00db8f629778076495197f167ba2b53e827df2f557b15f5d49106fc58d643351f6e0
|
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,7 +1,11 @@
|
|
1
1
|
# EveOnline API (XML and CREST)
|
2
2
|
|
3
|
+
[](https://badge.fury.io/rb/eve_online)
|
3
4
|
[](https://codeclimate.com/github/biow0lf/eve_online)
|
4
5
|
[](https://codeclimate.com/github/biow0lf/eve_online/coverage)
|
6
|
+
[](https://travis-ci.org/biow0lf/eve_online)
|
7
|
+
[](https://gemnasium.com/biow0lf/eve_online)
|
8
|
+
[](https://hakiri.io/github/biow0lf/eve_online/master)
|
5
9
|
|
6
10
|
This gem implement Ruby API for EveOnline MMORPG. Both, XML and CREST API.
|
7
11
|
|
@@ -21,9 +25,42 @@ Or install it yourself as:
|
|
21
25
|
|
22
26
|
$ gem install eve_online
|
23
27
|
|
28
|
+
## Supported ruby versions:
|
29
|
+
|
30
|
+
* MRI 2.0
|
31
|
+
* MRI 2.1
|
32
|
+
* MRI 2.2
|
33
|
+
|
24
34
|
## Usage
|
25
35
|
|
26
|
-
|
36
|
+
Server status:
|
37
|
+
|
38
|
+
```ruby
|
39
|
+
status = EveOnline::Server::Status.new
|
40
|
+
status.as_json # => {:current_time=>"2015-11-20 22:18:59", :cached_until=>"2015-11-20 22:20:50", :server_open=>true, :online_players=>25192}
|
41
|
+
|
42
|
+
status.current_time # => "2015-11-20 22:18:59"
|
43
|
+
status.cached_until # => "2015-11-20 22:20:50"
|
44
|
+
status.server_open? # => true
|
45
|
+
status.online_players # => 25192
|
46
|
+
```
|
47
|
+
|
48
|
+
Account status:
|
49
|
+
|
50
|
+
```ruby
|
51
|
+
key_id = '1234567'
|
52
|
+
v_code = '9ce9970b18d07586ead3d052e5b83bc8db303171a28a6f754cf35d9e6b66af17'
|
53
|
+
account_status = EveOnline::Account::Status.new(key_id, v_code)
|
54
|
+
account_status.as_json
|
55
|
+
# => {:current_time=>"2015-11-20 23:02:48", :paid_until=>"2015-11-28 18:12:56", :create_date=>"2010-01-15 15:11:00", :logon_count=>388, :logon_minutes=>15598, :cached_until=>"2015-11-20 23:59:48"}
|
56
|
+
|
57
|
+
account_status.current_time # => "2015-11-20 23:02:48"
|
58
|
+
account_status.paid_until # => "2015-11-28 18:12:56"
|
59
|
+
account_status.create_date # => "2010-01-15 15:11:00"
|
60
|
+
account_status.logon_count # => 388
|
61
|
+
account_status.logon_minutes # => 15598
|
62
|
+
account_status.cached_until # => "2015-11-20 23:59:48"
|
63
|
+
```
|
27
64
|
|
28
65
|
## Development
|
29
66
|
|
@@ -37,9 +74,133 @@ Issue reports and pull requests are welcome on GitHub at https://github.com/biow
|
|
37
74
|
|
38
75
|
## Changelog
|
39
76
|
|
40
|
-
v0.
|
77
|
+
v0.3.0: [Account Characters XML](http://wiki.eve-id.net/APIv2_Account_Characters_XML). Refactoring and bugfixes.
|
78
|
+
|
79
|
+
v0.2.0: [Character Account Balance XML](http://wiki.eve-id.net/APIv2_Char_AccountBalance_XML), [Account APIKeyInfo XML](http://wiki.eve-id.net/APIv2_Account_APIKeyInfo_XML), [Account Status XML](http://wiki.eve-id.net/APIv2_Account_AccountStatus_XML).
|
80
|
+
|
81
|
+
v0.1.0: [Server Status XML](http://wiki.eve-id.net/APIv2_Server_ServerStatus_XML).
|
82
|
+
|
83
|
+
## Implementation check list:
|
84
|
+
|
85
|
+
### Account
|
86
|
+
|
87
|
+
- [x] [Account Status XML](http://wiki.eve-id.net/APIv2_Account_AccountStatus_XML)
|
88
|
+
- [x] [API Key Info XML](http://wiki.eve-id.net/APIv2_Account_APIKeyInfo_XML)
|
89
|
+
- [x] [Characters (List of) XML](http://wiki.eve-id.net/APIv2_Account_Characters_XML)
|
90
|
+
|
91
|
+
----
|
92
|
+
|
93
|
+
### Api
|
94
|
+
|
95
|
+
- [ ] [Call List (Access Mask reference) XML](http://wiki.eve-id.net/APIv2_API_CallList_XML)
|
96
|
+
|
97
|
+
----
|
98
|
+
|
99
|
+
### Character
|
100
|
+
|
101
|
+
- [x] [Account Balance XML](http://wiki.eve-id.net/APIv2_Char_AccountBalance_XML)
|
102
|
+
- [ ] [Asset List XML](http://wiki.eve-id.net/APIv2_Char_AssetList_XML)
|
103
|
+
- [ ] [Calendar Event Attendees XML](http://wiki.eve-id.net/APIv2_Char_CalendarEventAttendees_XML)
|
104
|
+
- [ ] [Character Sheet XML](http://wiki.eve-id.net/APIv2_Char_CharacterSheet_XML)
|
105
|
+
- [ ] [Contact List XML](http://wiki.eve-id.net/APIv2_Char_ContactList_XML)
|
106
|
+
- [ ] [Contact Notifications XML](http://wiki.eve-id.net/APIv2_Char_ContactNotifications_XML)
|
107
|
+
- [ ] [Contracts XML](http://wiki.eve-id.net/APIv2_Char_Contracts_XML)
|
108
|
+
- [ ] [ContractItems XML](http://wiki.eve-id.net/APIv2_Char_ContractItems_XML)
|
109
|
+
- [ ] [ContractBids XML](http://wiki.eve-id.net/APIv2_Char_ContractBids_XML)
|
110
|
+
- [ ] [Factional Warfare Stats XML](http://wiki.eve-id.net/APIv2_Char_Factional_Warfare_Stats_XML)
|
111
|
+
- [ ] [Industry Jobs XML](http://wiki.eve-id.net/APIv2_Char_IndustryJobs_XML)
|
112
|
+
- [ ] [Kill Log (Kill Mails) XML](http://wiki.eve-id.net/APIv2_Char_KillLog_XML)
|
113
|
+
- [ ] [Locations XML](http://wiki.eve-id.net/APIv2_Char_Locations_XML)
|
114
|
+
- [ ] [Mail Bodies XML](http://wiki.eve-id.net/APIv2_Char_MailBodies_XML)
|
115
|
+
- [ ] [Mailing Lists XML](http://wiki.eve-id.net/APIv2_Char_mailinglists_XML)
|
116
|
+
- [ ] [Mail Messages (Headers) XML](http://wiki.eve-id.net/APIv2_Char_MailMessages_XML)
|
117
|
+
- [ ] [Market Orders XML](http://wiki.eve-id.net/APIv2_Char_MarketOrders_XML)
|
118
|
+
- [ ] [Medals XML](http://wiki.eve-id.net/APIv2_Char_Medals_XML)
|
119
|
+
- [ ] [Notifications XML](http://wiki.eve-id.net/APIv2_Char_Notifications_XML)
|
120
|
+
- [ ] [NotificationTexts XML](http://wiki.eve-id.net/APIv2_Char_NotificationTexts_XML)
|
121
|
+
- [ ] [Research XML](http://wiki.eve-id.net/APIv2_Char_Research_XML)
|
122
|
+
- [ ] [Skill in Training XML](http://wiki.eve-id.net/APIv2_Char_SkillInTraining_XML)
|
123
|
+
- [ ] [Skill Queue XML](http://wiki.eve-id.net/APIv2_Char_SkillQueue_XML)
|
124
|
+
- [ ] [Standings (NPC) XML](http://wiki.eve-id.net/APIv2_Char_Standings_XML)
|
125
|
+
- [ ] [Upcoming Calendar Events XML](http://wiki.eve-id.net/APIv2Char_UpcomingCalendarEvents_XML)
|
126
|
+
- [ ] [Wallet Journal XML](http://wiki.eve-id.net/APIv2_Char_JournalEntries_XML)
|
127
|
+
- [ ] [Wallet Transactions XML](http://wiki.eve-id.net/APIv2_Char_MarketTransactions_XML)
|
128
|
+
|
129
|
+
----
|
130
|
+
|
131
|
+
### Corporation
|
132
|
+
|
133
|
+
- [ ] [Account Balance XML](http://wiki.eve-id.net/APIv2_Corp_AccountBalance_XML)
|
134
|
+
- [ ] [Asset List XML](http://wiki.eve-id.net/APIv2_Corp_AssetList_XML)
|
135
|
+
- [ ] [Contact List XML](http://wiki.eve-id.net/APIv2_Corp_ContactList_XML)
|
136
|
+
- [ ] [Container Log XML](http://wiki.eve-id.net/APIv2_Corp_ContainerLog_XML)
|
137
|
+
- [ ] [Contracts XML](http://wiki.eve-id.net/APIv3_Corp_Contracts_XML)
|
138
|
+
- [ ] [ContractItems XML](http://wiki.eve-id.net/APIv2_Corp_ContractItems_XML)
|
139
|
+
- [ ] [ContractBids XML](http://wiki.eve-id.net/APIv2_Char_ContractBids_XML)
|
140
|
+
- [ ] [Corporation Sheet XML](http://wiki.eve-id.net/APIv2_Corp_CorporationSheet_XML)
|
141
|
+
- [ ] [Factional Warfare Stats XML](http://wiki.eve-id.net/APIv2_Corp_Factional_Warfare_Stats_XML)
|
142
|
+
- [ ] [Industry Jobs XML](http://wiki.eve-id.net/APIv2_Corp_IndustryJobs_XML)
|
143
|
+
- [ ] [Kill Log (Kill Mails) XML](http://wiki.eve-id.net/APIv2_Corp_KillLog_XML)
|
144
|
+
- [ ] [Locations XML](http://wiki.eve-id.net/APIv2_Corp_Locations_XML)
|
145
|
+
- [ ] [Market Orders XML](http://wiki.eve-id.net/APIv2_Corp_MarketOrders_XML)
|
146
|
+
- [ ] [Medals XML](http://wiki.eve-id.net/APIv2_Corp_Medals_XML)
|
147
|
+
- [ ] [Member Medals XML](http://wiki.eve-id.net/APIv2_Corp_MemberMedals_XML)
|
148
|
+
- [ ] [Member Security XML](http://wiki.eve-id.net/APIv2_Corp_MemberSecurity_XML)
|
149
|
+
- [ ] [Member Security Log XML](http://wiki.eve-id.net/APIv2_Corp_MemberSecurityLog_XML)
|
150
|
+
- [ ] [Member Tracking XML](http://wiki.eve-id.net/APIv2_Corp_MemberTracking_XML)
|
151
|
+
- [ ] [Outpost List XML](http://wiki.eve-id.net/APIv2_Corp_OutpostList_XML)
|
152
|
+
- [ ] [Outpost Service Detail XML](http://wiki.eve-id.net/APIv2_Corp_OutpostServiceDetail_XML)
|
153
|
+
- [ ] [Shareholders XML](http://wiki.eve-id.net/APIv2_Corp_Shareholders_XML)
|
154
|
+
- [ ] [Standings (NPC) XML](http://wiki.eve-id.net/APIv2_Corp_Standings_XML)
|
155
|
+
- [ ] [StarbaseDetail Details (POS) XML](http://wiki.eve-id.net/APIv2_Corp_StarbaseDetail_XML)
|
156
|
+
- [ ] [Starbase List (POS) XML](http://wiki.eve-id.net/APIv2_Corp_StarbaseList_XML)
|
157
|
+
- [ ] [Titles XML](http://wiki.eve-id.net/APIv2_Corp_CorporationTitles_XML)
|
158
|
+
- [ ] [Wallet Journal XML](http://wiki.eve-id.net/APIv2_Corp_JournalEntries_XML)
|
159
|
+
- [ ] [Wallet Transactions XML](http://wiki.eve-id.net/APIv2_Corp_MarketTransactions_XML)
|
160
|
+
|
161
|
+
----
|
162
|
+
|
163
|
+
### Eve
|
164
|
+
|
165
|
+
- [ ] [Alliance List XML](http://wiki.eve-id.net/APIv2_Eve_AllianceList_XML)
|
166
|
+
- [ ] [Certificate Tree XML](http://wiki.eve-id.net/APIv2_Certificate_Tree_XML)
|
167
|
+
- [ ] [Character Affiliation XML](http://wiki.eve-id.net/APIv2_Page_Index?title=APIv2_Eve_CharacterAffiliation_XML&action=edit&redlink=1)
|
168
|
+
- [ ] [Character ID (Name to ID Conversion) XML](http://wiki.eve-id.net/APIv2_Eve_CharacterID_XML)
|
169
|
+
- [ ] [Character Info XML](http://wiki.eve-id.net/APIv2_Eve_CharacterInfo_XML)
|
170
|
+
- [ ] [Character Name (ID to Name Conversion) XML](http://wiki.eve-id.net/APIv2_Eve_CharacterName_XML)
|
171
|
+
- [ ] [Conquerable Station List (Includes Outposts) XML](http://wiki.eve-id.net/APIv2_Eve_ConquerableStationList_XML)
|
172
|
+
- [ ] [Error List XML](http://wiki.eve-id.net/APIv2_Eve_ErrorList_XML)
|
173
|
+
- [ ] [Factional Warfare Stats XML](http://wiki.eve-id.net/APIv2_Factional_Warfare_Stats_XML)
|
174
|
+
- [ ] [Factional Warfare Top100 Stats XML](http://wiki.eve-id.net/APIv2_Factional_Warfare_Top100_Stats_XML)
|
175
|
+
- [ ] [RefTypes List XML](http://wiki.eve-id.net/APIv2_Eve_RefTypes_XML)
|
176
|
+
- [ ] [Skill Tree XML](http://wiki.eve-id.net/APIv2_Eve_SkillTree_XML)
|
177
|
+
- [ ] [Type Name XML](http://wiki.eve-id.net/APIv2_Eve_TypeName_XML)
|
178
|
+
|
179
|
+
----
|
180
|
+
|
181
|
+
### Map
|
182
|
+
|
183
|
+
- [ ] [Factional Warfare Systems (Occupancy Map) XML](http://wiki.eve-id.net/APIv2_Factional_Warfare_Occupancy_XML)
|
184
|
+
- [ ] [Jumps XML](http://wiki.eve-id.net/APIv2_Map_Jumps_XML)
|
185
|
+
- [ ] [Kills XML](http://wiki.eve-id.net/APIv2_Map_Kills_XML)
|
186
|
+
- [ ] [Sovereignty XML](http://wiki.eve-id.net/APIv2_Map_Sovereignty_XML)
|
187
|
+
- [ ] [Sovereignty Status (API disabled) XML](http://wiki.eve-id.net/APIv2_Map_Sovereignty_Status_XML)
|
188
|
+
|
189
|
+
----
|
190
|
+
|
191
|
+
### Misc
|
192
|
+
|
193
|
+
- [ ] [Image (ID to Character Portrait and Corporation/Alliance Logo)](http://wiki.eve-id.net/APIv2_Eve_Image_Service)
|
194
|
+
- [ ] [Old Portraits](http://wiki.eve-id.net/APIv2_Old_Portraits)
|
195
|
+
|
196
|
+
----
|
197
|
+
|
198
|
+
### Server
|
199
|
+
|
200
|
+
- [x] [Server Status XML](http://wiki.eve-id.net/APIv2_Server_ServerStatus_XML)
|
201
|
+
|
202
|
+
----
|
41
203
|
|
42
|
-
v0.1.0: ServerStatus XML API.
|
43
204
|
|
44
205
|
## License
|
45
206
|
|
data/eve_online.gemspec
CHANGED
@@ -17,6 +17,8 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features|bin)/}) }
|
18
18
|
spec.require_paths = ['lib']
|
19
19
|
|
20
|
+
spec.required_ruby_version = '>= 2.0'
|
21
|
+
|
20
22
|
spec.add_development_dependency 'bundler', '~> 1.10'
|
21
23
|
spec.add_development_dependency 'rake', '~> 10.0'
|
22
24
|
spec.add_development_dependency 'rspec'
|
@@ -24,4 +26,6 @@ Gem::Specification.new do |spec|
|
|
24
26
|
spec.add_development_dependency 'webmock'
|
25
27
|
|
26
28
|
spec.add_runtime_dependency 'nori', '~> 2.6'
|
29
|
+
# https://github.com/sparklemotion/nokogiri/blob/v1.6.6.4/CHANGELOG.rdoc
|
30
|
+
spec.add_runtime_dependency 'nokogiri', '>= 1.6.4.4'
|
27
31
|
end
|
data/lib/eve_online.rb
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
require 'eve_online/version'
|
2
2
|
require 'eve_online/base'
|
3
|
-
require 'eve_online/
|
4
|
-
require 'eve_online/
|
5
|
-
require 'eve_online/
|
6
|
-
require 'eve_online/
|
3
|
+
require 'eve_online/account/status'
|
4
|
+
require 'eve_online/account/api_key_info'
|
5
|
+
require 'eve_online/account/characters'
|
6
|
+
require 'eve_online/character/account_balance'
|
7
|
+
require 'eve_online/server/status'
|
7
8
|
|
8
9
|
module EveOnline
|
9
10
|
end
|
@@ -0,0 +1,72 @@
|
|
1
|
+
module EveOnline
|
2
|
+
module Account
|
3
|
+
# http://wiki.eve-id.net/APIv2_Account_APIKeyInfo_XML
|
4
|
+
class ApiKeyInfo < Base
|
5
|
+
API_ENDPOINT = 'https://api.eveonline.com/account/APIKeyInfo.xml.aspx'
|
6
|
+
|
7
|
+
def character_id
|
8
|
+
row.fetch('@characterID').to_i
|
9
|
+
end
|
10
|
+
|
11
|
+
def character_name
|
12
|
+
row.fetch('@characterName')
|
13
|
+
end
|
14
|
+
|
15
|
+
def corporation_id
|
16
|
+
row.fetch('@corporationID').to_i
|
17
|
+
end
|
18
|
+
|
19
|
+
def corporation_name
|
20
|
+
row.fetch('@corporationName')
|
21
|
+
end
|
22
|
+
|
23
|
+
def alliance_id
|
24
|
+
row.fetch('@allianceID').to_i
|
25
|
+
end
|
26
|
+
|
27
|
+
def alliance_name
|
28
|
+
row.fetch('@allianceName')
|
29
|
+
end
|
30
|
+
|
31
|
+
def faction_id
|
32
|
+
row.fetch('@factionID').to_i
|
33
|
+
end
|
34
|
+
|
35
|
+
def faction_name
|
36
|
+
row.fetch('@factionName')
|
37
|
+
end
|
38
|
+
|
39
|
+
def row
|
40
|
+
rowset.fetch('row')
|
41
|
+
end
|
42
|
+
|
43
|
+
def rowset
|
44
|
+
key.fetch('rowset')
|
45
|
+
end
|
46
|
+
|
47
|
+
def expires
|
48
|
+
key.fetch('@expires')
|
49
|
+
end
|
50
|
+
|
51
|
+
def type
|
52
|
+
key.fetch('@type')
|
53
|
+
end
|
54
|
+
|
55
|
+
def access_mask
|
56
|
+
key.fetch('@accessMask').to_i
|
57
|
+
end
|
58
|
+
|
59
|
+
def key
|
60
|
+
result.fetch('key')
|
61
|
+
end
|
62
|
+
|
63
|
+
def version
|
64
|
+
eveapi.fetch('@version').to_i
|
65
|
+
end
|
66
|
+
|
67
|
+
def url
|
68
|
+
"#{ API_ENDPOINT }?keyID=#{ key_id }&vCode=#{ v_code }"
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
module EveOnline
|
2
|
+
module Account
|
3
|
+
# http://wiki.eve-id.net/APIv2_Account_Characters_XML
|
4
|
+
class Characters < Base
|
5
|
+
API_ENDPOINT = 'https://api.eveonline.com/account/Characters.xml.aspx'
|
6
|
+
|
7
|
+
def version
|
8
|
+
eveapi.fetch('@version').to_i
|
9
|
+
end
|
10
|
+
|
11
|
+
def name
|
12
|
+
row.fetch('@name')
|
13
|
+
end
|
14
|
+
|
15
|
+
def character_id
|
16
|
+
row.fetch('@characterID').to_i
|
17
|
+
end
|
18
|
+
|
19
|
+
def corporation_name
|
20
|
+
row.fetch('@corporationName')
|
21
|
+
end
|
22
|
+
|
23
|
+
def corporation_id
|
24
|
+
row.fetch('@corporationID').to_i
|
25
|
+
end
|
26
|
+
|
27
|
+
def alliance_id
|
28
|
+
row.fetch('@allianceID').to_i
|
29
|
+
end
|
30
|
+
|
31
|
+
def alliance_name
|
32
|
+
row.fetch('@allianceName')
|
33
|
+
end
|
34
|
+
|
35
|
+
def faction_id
|
36
|
+
row.fetch('@factionID').to_i
|
37
|
+
end
|
38
|
+
|
39
|
+
def faction_name
|
40
|
+
row.fetch('@factionName')
|
41
|
+
end
|
42
|
+
|
43
|
+
def row
|
44
|
+
rowset.fetch('row')
|
45
|
+
end
|
46
|
+
|
47
|
+
def rowset
|
48
|
+
result.fetch('rowset')
|
49
|
+
end
|
50
|
+
|
51
|
+
def url
|
52
|
+
"#{ API_ENDPOINT}?keyID=#{ key_id }&vCode=#{ v_code }"
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
module EveOnline
|
2
|
+
module Account
|
3
|
+
# http://wiki.eve-id.net/APIv2_Account_AccountStatus_XML
|
4
|
+
class Status < Base
|
5
|
+
API_ENDPOINT = 'https://api.eveonline.com/account/AccountStatus.xml.aspx'
|
6
|
+
|
7
|
+
def as_json
|
8
|
+
{
|
9
|
+
current_time: current_time,
|
10
|
+
paid_until: paid_until,
|
11
|
+
create_date: create_date,
|
12
|
+
logon_count: logon_count,
|
13
|
+
logon_minutes: logon_minutes,
|
14
|
+
cached_until: cached_until
|
15
|
+
}
|
16
|
+
end
|
17
|
+
|
18
|
+
def paid_until
|
19
|
+
# TODO: time in "(GMT) Monrovia, Reykjavik".
|
20
|
+
result.fetch('paidUntil')
|
21
|
+
end
|
22
|
+
|
23
|
+
def create_date
|
24
|
+
# TODO: time in "(GMT) Monrovia, Reykjavik".
|
25
|
+
result.fetch('createDate')
|
26
|
+
end
|
27
|
+
|
28
|
+
def logon_count
|
29
|
+
result.fetch('logonCount').to_i
|
30
|
+
end
|
31
|
+
|
32
|
+
def logon_minutes
|
33
|
+
result.fetch('logonMinutes').to_i
|
34
|
+
end
|
35
|
+
|
36
|
+
def version
|
37
|
+
eveapi.fetch('@version').to_i
|
38
|
+
end
|
39
|
+
|
40
|
+
def url
|
41
|
+
"#{ API_ENDPOINT }?keyID=#{ key_id }&vCode=#{ v_code }"
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
data/lib/eve_online/base.rb
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
require 'open-uri'
|
2
|
+
require 'nori'
|
3
|
+
|
1
4
|
module EveOnline
|
2
5
|
class Base
|
3
6
|
attr_reader :key_id, :v_code, :parser
|
@@ -8,6 +11,29 @@ module EveOnline
|
|
8
11
|
@parser = parser
|
9
12
|
end
|
10
13
|
|
14
|
+
def result
|
15
|
+
eveapi.fetch('result')
|
16
|
+
end
|
17
|
+
|
18
|
+
def cached_until
|
19
|
+
# TODO: time in "(GMT) Monrovia, Reykjavik".
|
20
|
+
eveapi.fetch('cachedUntil')
|
21
|
+
end
|
22
|
+
|
23
|
+
def current_time
|
24
|
+
# TODO: time in "(GMT) Monrovia, Reykjavik".
|
25
|
+
eveapi.fetch('currentTime')
|
26
|
+
end
|
27
|
+
|
28
|
+
def version
|
29
|
+
# TODO: check all API for version
|
30
|
+
raise NotImplementedError
|
31
|
+
end
|
32
|
+
|
33
|
+
def eveapi
|
34
|
+
response.fetch('eveapi')
|
35
|
+
end
|
36
|
+
|
11
37
|
def url
|
12
38
|
raise NotImplementedError
|
13
39
|
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module EveOnline
|
2
|
+
module Character
|
3
|
+
# http://wiki.eve-id.net/APIv2_Char_AccountBalance_XML
|
4
|
+
class AccountBalance < Base
|
5
|
+
API_ENDPOINT = 'https://api.eveonline.com/char/AccountBalance.xml.aspx'
|
6
|
+
|
7
|
+
def account_id
|
8
|
+
row.fetch('@accountID').to_i
|
9
|
+
end
|
10
|
+
|
11
|
+
def account_key
|
12
|
+
row.fetch('@accountKey')
|
13
|
+
end
|
14
|
+
|
15
|
+
def balance
|
16
|
+
row.fetch('@balance')
|
17
|
+
end
|
18
|
+
|
19
|
+
def row
|
20
|
+
rowset.fetch('row')
|
21
|
+
end
|
22
|
+
|
23
|
+
def rowset
|
24
|
+
result.fetch('rowset')
|
25
|
+
end
|
26
|
+
|
27
|
+
def version
|
28
|
+
eveapi.fetch('@version').to_i
|
29
|
+
end
|
30
|
+
|
31
|
+
def url
|
32
|
+
"#{ API_ENDPOINT }?keyID=#{ key_id }&vCode=#{ v_code }"
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module EveOnline
|
2
|
+
module Server
|
3
|
+
# http://wiki.eve-id.net/APIv2_Server_ServerStatus_XML
|
4
|
+
class Status < Base
|
5
|
+
API_ENDPOINT = 'https://api.eveonline.com/Server/ServerStatus.xml.aspx'
|
6
|
+
|
7
|
+
def as_json
|
8
|
+
{
|
9
|
+
current_time: current_time,
|
10
|
+
cached_until: cached_until,
|
11
|
+
server_open: server_open?,
|
12
|
+
online_players: online_players
|
13
|
+
}
|
14
|
+
end
|
15
|
+
|
16
|
+
def server_open?
|
17
|
+
result.fetch('serverOpen') == 'True'
|
18
|
+
end
|
19
|
+
|
20
|
+
def online_players
|
21
|
+
result.fetch('onlinePlayers').to_i
|
22
|
+
end
|
23
|
+
|
24
|
+
def version
|
25
|
+
eveapi.fetch('@version').to_i
|
26
|
+
end
|
27
|
+
|
28
|
+
def url
|
29
|
+
API_ENDPOINT
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
data/lib/eve_online/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eve_online
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Igor Zubkov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-11-
|
11
|
+
date: 2015-11-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -94,6 +94,20 @@ dependencies:
|
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '2.6'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: nokogiri
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 1.6.4.4
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 1.6.4.4
|
97
111
|
description: EveOnline API. XML and CREST.
|
98
112
|
email:
|
99
113
|
- igor.zubkov@gmail.com
|
@@ -112,11 +126,12 @@ files:
|
|
112
126
|
- Rakefile
|
113
127
|
- eve_online.gemspec
|
114
128
|
- lib/eve_online.rb
|
115
|
-
- lib/eve_online/
|
116
|
-
- lib/eve_online/
|
117
|
-
- lib/eve_online/
|
129
|
+
- lib/eve_online/account/api_key_info.rb
|
130
|
+
- lib/eve_online/account/characters.rb
|
131
|
+
- lib/eve_online/account/status.rb
|
118
132
|
- lib/eve_online/base.rb
|
119
|
-
- lib/eve_online/
|
133
|
+
- lib/eve_online/character/account_balance.rb
|
134
|
+
- lib/eve_online/server/status.rb
|
120
135
|
- lib/eve_online/version.rb
|
121
136
|
homepage: https://github.com/biow0lf/eve_online
|
122
137
|
licenses:
|
@@ -130,7 +145,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
130
145
|
requirements:
|
131
146
|
- - ">="
|
132
147
|
- !ruby/object:Gem::Version
|
133
|
-
version: '0'
|
148
|
+
version: '2.0'
|
134
149
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
135
150
|
requirements:
|
136
151
|
- - ">="
|
@@ -1,53 +0,0 @@
|
|
1
|
-
require 'open-uri'
|
2
|
-
|
3
|
-
module EveOnline
|
4
|
-
# http://wiki.eve-id.net/APIv2_Char_AccountBalance_XML
|
5
|
-
class AccountBalance < Base
|
6
|
-
API_ENDPOINT = 'https://api.eveonline.com/char/AccountBalance.xml.aspx'
|
7
|
-
|
8
|
-
def current_time
|
9
|
-
# TODO: time in "(GMT) Monrovia, Reykjavik".
|
10
|
-
eveapi.fetch('currentTime')
|
11
|
-
end
|
12
|
-
|
13
|
-
def account_id
|
14
|
-
row.fetch('@accountID').to_i
|
15
|
-
end
|
16
|
-
|
17
|
-
def account_key
|
18
|
-
row.fetch('@accountKey')
|
19
|
-
end
|
20
|
-
|
21
|
-
def balance
|
22
|
-
row.fetch('@balance')
|
23
|
-
end
|
24
|
-
|
25
|
-
def row
|
26
|
-
rowset.fetch('row')
|
27
|
-
end
|
28
|
-
|
29
|
-
def rowset
|
30
|
-
result.fetch('rowset')
|
31
|
-
end
|
32
|
-
|
33
|
-
def cached_until
|
34
|
-
eveapi.fetch('cachedUntil')
|
35
|
-
end
|
36
|
-
|
37
|
-
def version
|
38
|
-
eveapi.fetch('@version').to_i
|
39
|
-
end
|
40
|
-
|
41
|
-
def result
|
42
|
-
eveapi.fetch('result')
|
43
|
-
end
|
44
|
-
|
45
|
-
def eveapi
|
46
|
-
response.fetch('eveapi')
|
47
|
-
end
|
48
|
-
|
49
|
-
def url
|
50
|
-
"#{ API_ENDPOINT }?keyID=#{ key_id }&vCode=#{ v_code }"
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
@@ -1,47 +0,0 @@
|
|
1
|
-
require 'open-uri'
|
2
|
-
|
3
|
-
module EveOnline
|
4
|
-
class AccountStatus < Base
|
5
|
-
API_ENDPOINT = 'https://api.eveonline.com/account/AccountStatus.xml.aspx'
|
6
|
-
|
7
|
-
def current_time
|
8
|
-
eveapi.fetch('currentTime')
|
9
|
-
end
|
10
|
-
|
11
|
-
def paid_until
|
12
|
-
result.fetch('paidUntil')
|
13
|
-
end
|
14
|
-
|
15
|
-
def create_date
|
16
|
-
result.fetch('createDate')
|
17
|
-
end
|
18
|
-
|
19
|
-
def logon_count
|
20
|
-
result.fetch('logonCount').to_i
|
21
|
-
end
|
22
|
-
|
23
|
-
def logon_minutes
|
24
|
-
result.fetch('logonMinutes').to_i
|
25
|
-
end
|
26
|
-
|
27
|
-
def cached_until
|
28
|
-
eveapi.fetch('cachedUntil')
|
29
|
-
end
|
30
|
-
|
31
|
-
def version
|
32
|
-
eveapi.fetch('@version').to_i
|
33
|
-
end
|
34
|
-
|
35
|
-
def result
|
36
|
-
eveapi.fetch('result')
|
37
|
-
end
|
38
|
-
|
39
|
-
def eveapi
|
40
|
-
response.fetch('eveapi')
|
41
|
-
end
|
42
|
-
|
43
|
-
def url
|
44
|
-
"#{ API_ENDPOINT }?keyID=#{ key_id }&vCode=#{ v_code }"
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
@@ -1,89 +0,0 @@
|
|
1
|
-
require 'open-uri'
|
2
|
-
|
3
|
-
module EveOnline
|
4
|
-
# http://wiki.eve-id.net/APIv2_Account_APIKeyInfo_XML
|
5
|
-
class ApiKeyInfo < Base
|
6
|
-
API_ENDPOINT = 'https://api.eveonline.com/account/APIKeyInfo.xml.aspx'
|
7
|
-
|
8
|
-
def character_id
|
9
|
-
row.fetch('@characterID').to_i
|
10
|
-
end
|
11
|
-
|
12
|
-
def character_name
|
13
|
-
row.fetch('@characterName')
|
14
|
-
end
|
15
|
-
|
16
|
-
def corporation_id
|
17
|
-
row.fetch('@corporationID').to_i
|
18
|
-
end
|
19
|
-
|
20
|
-
def corporation_name
|
21
|
-
row.fetch('@corporationName')
|
22
|
-
end
|
23
|
-
|
24
|
-
def alliance_id
|
25
|
-
row.fetch('@allianceID').to_i
|
26
|
-
end
|
27
|
-
|
28
|
-
def alliance_name
|
29
|
-
row.fetch('@allianceName')
|
30
|
-
end
|
31
|
-
|
32
|
-
def faction_id
|
33
|
-
row.fetch('@factionID').to_i
|
34
|
-
end
|
35
|
-
|
36
|
-
def faction_name
|
37
|
-
row.fetch('@factionName')
|
38
|
-
end
|
39
|
-
|
40
|
-
def row
|
41
|
-
rowset.fetch('row')
|
42
|
-
end
|
43
|
-
|
44
|
-
def rowset
|
45
|
-
key.fetch('rowset')
|
46
|
-
end
|
47
|
-
|
48
|
-
def expires
|
49
|
-
key.fetch('@expires')
|
50
|
-
end
|
51
|
-
|
52
|
-
def type
|
53
|
-
key.fetch('@type')
|
54
|
-
end
|
55
|
-
|
56
|
-
def access_mask
|
57
|
-
key.fetch('@accessMask')
|
58
|
-
end
|
59
|
-
|
60
|
-
def key
|
61
|
-
result.fetch('key')
|
62
|
-
end
|
63
|
-
|
64
|
-
def current_time
|
65
|
-
# TODO: time in "(GMT) Monrovia, Reykjavik".
|
66
|
-
eveapi.fetch('currentTime')
|
67
|
-
end
|
68
|
-
|
69
|
-
def cached_until
|
70
|
-
eveapi.fetch('cachedUntil')
|
71
|
-
end
|
72
|
-
|
73
|
-
def version
|
74
|
-
eveapi.fetch('@version').to_i
|
75
|
-
end
|
76
|
-
|
77
|
-
def result
|
78
|
-
eveapi.fetch('result')
|
79
|
-
end
|
80
|
-
|
81
|
-
def eveapi
|
82
|
-
response.fetch('eveapi')
|
83
|
-
end
|
84
|
-
|
85
|
-
def url
|
86
|
-
"#{ API_ENDPOINT }?keyID=#{ key_id }&vCode=#{ v_code }"
|
87
|
-
end
|
88
|
-
end
|
89
|
-
end
|
@@ -1,42 +0,0 @@
|
|
1
|
-
require 'open-uri'
|
2
|
-
|
3
|
-
module EveOnline
|
4
|
-
# http://wiki.eve-id.net/APIv2_Server_ServerStatus_XML
|
5
|
-
class ServerStatus < Base
|
6
|
-
API_ENDPOINT = 'https://api.eveonline.com/Server/ServerStatus.xml.aspx'
|
7
|
-
|
8
|
-
def current_time
|
9
|
-
# TODO: time in "(GMT) Monrovia, Reykjavik".
|
10
|
-
eveapi.fetch('currentTime')
|
11
|
-
end
|
12
|
-
|
13
|
-
def server_open?
|
14
|
-
result.fetch('serverOpen') == 'True'
|
15
|
-
end
|
16
|
-
|
17
|
-
def online_players
|
18
|
-
result.fetch('onlinePlayers').to_i
|
19
|
-
end
|
20
|
-
|
21
|
-
def cached_until
|
22
|
-
# TODO: time in "(GMT) Monrovia, Reykjavik".
|
23
|
-
eveapi.fetch('cachedUntil')
|
24
|
-
end
|
25
|
-
|
26
|
-
def version
|
27
|
-
eveapi.fetch('@version').to_i
|
28
|
-
end
|
29
|
-
|
30
|
-
def result
|
31
|
-
eveapi.fetch('result')
|
32
|
-
end
|
33
|
-
|
34
|
-
def eveapi
|
35
|
-
response.fetch('eveapi')
|
36
|
-
end
|
37
|
-
|
38
|
-
def url
|
39
|
-
API_ENDPOINT
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|