reve 0.0.94 → 0.0.96

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.
data/lib/reve/classes.rb CHANGED
@@ -46,6 +46,221 @@ module Reve #:nodoc:
46
46
  end
47
47
  end
48
48
 
49
+ class EveFactionWarStat
50
+ attr_accessor :faction_participants, :faction_wars
51
+ attr_reader :kills_yesterday, :kills_last_week, :kills_total,
52
+ :victory_points_yesterday, :victory_points_last_week,
53
+ :victory_points_total
54
+ def initialize(elem,wars,participants) #:nodoc:
55
+ @faction_wars = wars
56
+ @faction_participants = participants
57
+ @kills_yesterday = elem['killsYesterday'].to_i
58
+ @kills_last_week = elem['killsLastWeek'].to_i
59
+ @kills_total = elem['killsTotal'].to_i
60
+ @victory_points_yesterday = elem['victoryPointsYesterday'].to_i
61
+ @victory_points_last_week = elem['victoryPointsLastWeek'].to_i
62
+ @victory_points_total = elem['victoryPointsTotal'].to_i
63
+ end
64
+ end
65
+
66
+ # Maps a participant in a FactionWar. Can be a:
67
+ # * PersonalFactionWarParticpant
68
+ # * CorporateFactionWarParticpant
69
+ # * FactionwideFactionWarParticpant
70
+ # Attributes:
71
+ # * faction_id ( Fixnum ) - ID of the Faction to which the participant belongs
72
+ # * faction_name ( String ) - Name of the Faction
73
+ # * kills_yesterday ( Fixnum )
74
+ # * kills_last_week ( Fixnum )
75
+ # * kills_total ( Fixnum )
76
+ # * victory_points_yesterday ( Fixnum )
77
+ # * victory_points_last_week ( Fixnum )
78
+ # * victory_points_total ( Fixnum )
79
+ class FactionWarParticpant
80
+ attr_reader :faction_id, :faction_name, :enlisted_at, :kills_yesterday,
81
+ :kills_last_week, :kills_total, :victory_points_yesterday,
82
+ :victory_points_last_week, :victory_points_total
83
+ def initialize(elem) #:nodoc:
84
+ @faction_id = elem['factionID'].to_i
85
+ @faction_name = elem['factionName']
86
+ @kills_yesterday = elem['killsYesterday'].to_i
87
+ @kills_last_week = elem['killsLastWeek'].to_i
88
+ @kills_total = elem['killsTotal'].to_i
89
+ @victory_points_yesterday = elem['victoryPointsYesterday'].to_i
90
+ @victory_points_last_week = elem['victoryPointsLastWeek'].to_i
91
+ @victory_points_total = elem['victoryPointsTotal'].to_i
92
+ end
93
+ end
94
+
95
+ # Represents a Character's stats as a FactionWarParticpant.
96
+ # Attributes:
97
+ # * (See FactionWarParticpant for more)
98
+ # * current_rank ( Fixnum ) - Current Rank
99
+ # * highest_rank ( Fixnum ) - Highest Rank
100
+ # * enlisted_at ( Time ) - When the participant enlisted into the Faction
101
+ class PersonalFactionWarParticpant < FactionWarParticpant
102
+ attr_reader :current_rank, :highest_rank
103
+ def initialize(elem) #:nodoc:
104
+ super(elem)
105
+ @current_rank = elem['currentRank'].to_i
106
+ @highest_rank = elem['highestRank'].to_i
107
+ @enlisted_at = elem['enlisted'].to_time
108
+ end
109
+ end
110
+
111
+ # Represents a Corpration's stats as a FactionWarParticpant.
112
+ # Attributes:
113
+ # * (See FactionWarParticpant for more)
114
+ # * pilots ( Fixnum ) - Number of pilots (Characters) in the Corporation
115
+ # * enlisted_at ( Time ) - When the participant enlisted into the Faction
116
+ class CorporateFactionWarParticpant < FactionWarParticpant
117
+ attr_reader :pilots
118
+ def initialize(elem) #:nodoc:
119
+ super(elem)
120
+ @pilots = elem['pilots'].to_i
121
+ @enlisted_at = elem['enlisted'].to_time
122
+ end
123
+ end
124
+
125
+ # Represents an entire Faction's stats as a FactionWarParticpant.
126
+ # Attributes:
127
+ # * (See FactionWarParticpant for more)
128
+ # * pilots ( Fixnum ) - Number of pilots (Characters) in the Corporation
129
+ class FactionwideFactionWarParticpant < FactionWarParticpant
130
+ attr_reader :pilots, :systems_controlled
131
+ def initialize(elem) #:nodoc:
132
+ super(elem)
133
+ @pilots = elem['pilots'].to_i
134
+ @systems_controlled = elem['systemsControlled'].to_i
135
+ end
136
+ end
137
+
138
+ # Represents a single FactionWar between two Factions (e.g., Gallente v. Caldari)
139
+ # Attributes:
140
+ # * faction_id ( Fixnum ) - ID of the belligerant Faction
141
+ # * faction_name ( String ) - Name of the belligerant Faction.
142
+ # * against_id ( Fixnum ) - ID of the Faction that this war is against.
143
+ # * against_name ( String ) - Name of the Faction that this war is against.
144
+ class FactionWar
145
+ attr_reader :faction_id, :faction_name, :against_id, :against_name
146
+ def initialize(elem) #:nodoc:
147
+ @faction_id = elem['factionID'].to_i
148
+ @faction_name = elem['factionName']
149
+ @against_id = elem['againstID'].to_i
150
+ @against_name = elem['againstName']
151
+ end
152
+ end
153
+
154
+ # The status of a System with regards to a FactionWar. Who controls what
155
+ # and what System is contested
156
+ # Attributes:
157
+ # * system_id ( Fixnum ) - ID of the System
158
+ # * system_name ( String ) - Name of the System
159
+ # * faction_id ( Fixnum | NilClass ) - ID of the Faction that is occupying this System. If no Faction controls this System this will be nil.
160
+ # * faction_name ( String | NilClass ) - Name of the Faction that is occupying this System. If no Faction controls this System this will be nil.
161
+ # * contested ( Boolean ) - Is this System contested?
162
+ class FactionWarSystemStatus
163
+ attr_reader :system_id, :system_name, :faction_id, :faction_name, :contested
164
+ def initialize(elem) #:nodoc:
165
+ @system_id = elem['solarSystemID'].to_i
166
+ @system_name = elem['solarSystemName']
167
+ @faction_id = elem['occupyingFactionID'].to_i
168
+ @faction_name = elem['occupyingFactionName']
169
+ @contested = elem['contested'] == 'True'
170
+ if @faction_id == 0
171
+ @faction_id = nil
172
+ @faction_name = nil
173
+ end
174
+ end
175
+ end
176
+
177
+ class FactionWarKills
178
+ attr_reader :kills
179
+ def initialize(elem) #:nodoc:
180
+ @kills = elem['kills'].to_i
181
+ end
182
+ end
183
+
184
+ class CharacterFactionKills < FactionWarKills
185
+ attr_reader :name, :id
186
+ def initialize(elem) #:nodoc:
187
+ super(elem)
188
+ @name = elem['characterName']
189
+ @id = elem['characterID'].to_i
190
+ end
191
+ end
192
+ class CorporationFactionKills < FactionWarKills
193
+ attr_reader :name, :id
194
+ def initialize(elem) #:nodoc:
195
+ super(elem)
196
+ @name = elem['corporationName']
197
+ @id = elem['corporationID'].to_i
198
+ end
199
+ end
200
+ class FactionKills < FactionWarKills
201
+ attr_reader :name, :id
202
+ def initialize(elem) #:nodoc:
203
+ super(elem)
204
+ @name = elem['factionName']
205
+ @id = elem['factionID'].to_i
206
+ end
207
+ end
208
+
209
+ class FactionWarVictoryPoints
210
+ attr_reader :victory_points
211
+ def initialize(elem) #:nodoc:
212
+ @victory_points = elem['victoryPoints'].to_i
213
+ end
214
+ end
215
+ class CharacterFactionVictoryPoints < FactionWarVictoryPoints
216
+ attr_reader :name, :id
217
+ def initialize(elem) #:nodoc:
218
+ super(elem)
219
+ @name = elem['characterName']
220
+ @id = elem['characterID'].to_i
221
+ end
222
+ end
223
+ class CorporationFactionVictoryPoints < FactionWarVictoryPoints
224
+ attr_reader :name, :id
225
+ def initialize(elem) #:nodoc:
226
+ super(elem)
227
+ @name = elem['corporationName']
228
+ @id = elem['corporationID'].to_i
229
+ end
230
+ end
231
+ class FactionVictoryPoints < FactionWarVictoryPoints
232
+ attr_reader :name, :id
233
+ def initialize(elem) #:nodoc:
234
+ super(elem)
235
+ @name = elem['factionName']
236
+ @id = elem['factionID'].to_i
237
+ end
238
+ end
239
+
240
+ # Faction War Top Stats. This is different than the rest of the classes.
241
+ # Each attribute on this class is a Hash with the following keys:
242
+ # * yesterday_kills ( Array )
243
+ # * yesterday_victory_points ( Array )
244
+ # * last_week_kills ( Array )
245
+ # * last_week_victory_points ( Array )
246
+ # * total_kills ( Array )
247
+ # * total_victory_points ( Array )
248
+ # The value of each key is an Array whose class is specified below (under 'Attributes' list) for each Attribute.
249
+ # Attributes:
250
+ # * characters ( Hash ) - CharacterFactionVictoryPoints, CharacterFactionKills
251
+ # * corporations ( Hash ) - CorporationFactionVictoryPoints, CorporationFactionKills
252
+ # * factions ( Hash ) - FactionVictoryPoints, FactionWarKills
253
+ # Access: Reve::API#faction_war_top_stats.characters[:yesterday_kills] => array of CharacterFactionKills objects.
254
+ class FactionWarTopStats
255
+ attr_reader :characters, :corporations, :factions
256
+ def initialize(characters, corporations, factions) #:nodoc:
257
+ @characters = characters
258
+ @corporations = corporations
259
+ @factions = factions
260
+ end
261
+
262
+ end
263
+
49
264
  # A Skill has a RequiredAttribute, either a PrimaryAttribute or SecondaryAttribute, which both derrive from this.
50
265
  # Attributes
51
266
  # * name ( String ) - Name of the required Attribute
@@ -219,7 +219,7 @@ module Reve
219
219
  # 202
220
220
  class CachedAPIKeyAuthenticationFailure < ReveError #:nodoc:
221
221
  end
222
- # 203, 204, 205
222
+ # 203, 204, 205, 210, 212
223
223
  class AuthenticationFailure < ReveError #:nodoc:
224
224
  end
225
225
  # 206
@@ -234,9 +234,6 @@ module Reve
234
234
  # 209
235
235
  class MustBeDirectorOrCEO < ReveError #:nodoc:
236
236
  end
237
- # 210, 212
238
- class AuthenticationFailure < ReveError #:nodoc:
239
- end
240
237
  # 211
241
238
  class LoginDeniedByAccountStatus < ReveError #:nodoc:
242
239
  end
data/lib/reve.rb CHANGED
@@ -79,6 +79,11 @@ module Reve
79
79
  @@corporate_kills_url = 'http://api.eve-online.com/corp/KillLog.xml.aspx'
80
80
  @@character_id_url = 'http://api.eve-online.com/eve/CharacterID.xml.aspx' # ?names=CCP%20Garthagk,Raquel%20Smith
81
81
  @@character_name_url = 'http://api.eve-online.com/eve/CharacterName.xml.aspx' # ?ids=797400947,892008733
82
+ @@personal_faction_war_stats_url= 'http://api.eve-online.com/char/FacWarStats.xml.aspx'
83
+ @@corporate_faction_war_stats_url= 'http://api.eve-online.com/corp/FacWarStats.xml.aspx'
84
+ @@general_faction_war_stats_url= 'http://api.eve-online.com/eve/FacWarStats.xml.aspx'
85
+ @@top_faction_war_stats_url = 'http://api.eve-online.com/eve/FacWarTopStats.xml.aspx'
86
+ @@faction_war_occupancy_url = 'http://api.eve-online.com/map/FacWarSystems.xml.aspx'
82
87
 
83
88
  cattr_accessor :character_sheet_url, :training_skill_url, :characters_url, :personal_wallet_journal_url,
84
89
  :corporate_wallet_journal_url, :personal_wallet_trans_url, :corporate_wallet_trans_url,
@@ -87,7 +92,9 @@ module Reve
87
92
  :starbasedetail_url, :conqurable_outposts_url, :corporation_sheet_url, :map_jumps_url,
88
93
  :map_kills_url, :personal_market_orders_url, :corporate_market_orders_url,
89
94
  :personal_industry_jobs_url, :corporate_industry_jobs_url, :personal_assets_url,
90
- :corporate_assets_url, :personal_kills_url, :corporate_kills_url
95
+ :corporate_assets_url, :personal_kills_url, :corporate_kills_url,
96
+ :personal_faction_war_stats_url, :corporate_faction_war_stats_url,
97
+ :general_faction_war_stats_url, :top_faction_war_stats_url, :faction_war_occupancy_url
91
98
 
92
99
 
93
100
 
@@ -396,6 +403,102 @@ module Reve
396
403
  return h if h
397
404
  process_query(Reve::Classes::WalletJournal,opts[:url] || @@personal_wallet_journal_url,false,args)
398
405
  end
406
+
407
+ # Gets the PersonalFactionWarStat for a character.
408
+ # Expects:
409
+ # * characterid ( Integer | String ) - Get this character's PersonalFactionWarStat.
410
+ # See Also Reve::Classes::PersonalFactionWarStat and corporate_faction_war_stats
411
+ def personal_faction_war_stats(opts = { :characterid => nil })
412
+ args = postfields(opts)
413
+ h = compute_hash(args.merge(:url => @@personal_faction_war_stats_url))
414
+ return h if h
415
+ xml = process_query(nil,opts[:url] || @@personal_faction_war_stats_url,true,args)
416
+ elems = {}
417
+ [ :factionID, :factionName, :enlisted, :currentRank, :highestRank,
418
+ :killsYesterday, :killsLastWeek, :killsTotal, :victoryPointsYesterday,
419
+ :victoryPointsLastWeek, :victoryPointsTotal ].each do |elem|
420
+ elems[elem.to_s] = xml.search("/eveapi/result/" + elem.to_s).first.inner_html
421
+ end
422
+ Reve::Classes::PersonalFactionWarParticpant.new(elems)
423
+ end
424
+
425
+ # Gets the CorporateFactionWarStat for the Corporation a Character belongs to.
426
+ # Expects:
427
+ # * characterid ( Integer | String ) - Get this character's corp's CorporateFactionWarStat.
428
+ # See Also Reve::Classes::CorporateFactionWarStat and personal_faction_war_stats
429
+ def corporate_faction_war_stats(opts = { :characterid => nil })
430
+ args = postfields(opts)
431
+ h = compute_hash(args.merge(:url => @@corporate_faction_war_stats_url))
432
+ return h if h
433
+ xml = process_query(nil,opts[:url] || @@corporate_faction_war_stats_url,true,args)
434
+ elems = {}
435
+ [ :factionID, :factionName, :enlisted, :pilots,
436
+ :killsYesterday, :killsLastWeek, :killsTotal, :victoryPointsYesterday,
437
+ :victoryPointsLastWeek, :victoryPointsTotal ].each do |elem|
438
+ elems[elem.to_s] = xml.search("/eveapi/result/" + elem.to_s).first.inner_html
439
+ end
440
+ Reve::Classes::CorporateFactionWarParticpant.new(elems)
441
+ end
442
+
443
+ # Gets Faction-wide war stats.
444
+ # See also: Reve::Classes::EveFactionWarStat, Reve::Classes::FactionwideFactionWarParticpant,
445
+ # Reve::Classes::FactionWar
446
+ def faction_war_stats(opts = {} )
447
+ args = postfields(opts)
448
+ h = compute_hash(args.merge(:url => @@general_faction_war_stats_url))
449
+ return h if h
450
+ xml = process_query(nil,opts[:url] || @@general_faction_war_stats_url,true,args)
451
+ participants = xml.search("/eveapi/result/rowset[@name='factions']/row").collect do |faction|
452
+ Reve::Classes::FactionwideFactionWarParticpant.new(faction)
453
+ end
454
+ wars = xml.search("/eveapi/result/rowset[@name='factionWars']/row").collect do |faction_war|
455
+ Reve::Classes::FactionWar.new(faction_war)
456
+ end
457
+ totals = {}
458
+ [ :killsYesterday, :killsLastWeek, :killsTotal, :victoryPointsYesterday,
459
+ :victoryPointsLastWeek, :victoryPointsTotal ].each do |elem|
460
+ totals[elem.to_s] = xml.search("/eveapi/result/totals/" + elem.to_s).first.inner_html
461
+ end
462
+ Reve::Classes::EveFactionWarStat.new(totals, wars, participants)
463
+ end
464
+
465
+ # Returns the occupancy data for each System.
466
+ # See also: Reve::Classes::FactionWarSystemStatus
467
+ def faction_war_system_stats(opts = {})
468
+ args = postfields(opts)
469
+ h = compute_hash(args.merge(:url => @@faction_war_occupancy_url))
470
+ return h if h
471
+ process_query(Reve::Classes::FactionWarSystemStatus,opts[:url] || @@faction_war_occupancy_url,false,args)
472
+ end
473
+ alias_method :faction_war_occupancy, :faction_war_system_stats
474
+
475
+ # Gets a list of the top 10 statistics for Characters, Corporations and
476
+ # Factions in factional warfare. Read the notes on Reve::Classes::FactionWarTopStats.
477
+ def faction_war_top_stats(opts = {})
478
+ args = postfields(opts)
479
+ h = compute_hash(args.merge(:url => @@top_faction_war_stats_url))
480
+ return h if h
481
+ xml = process_query(nil,opts[:url] || @@top_faction_war_stats_url,true,args)
482
+ template = { :yesterday_kills => "KillsYesterday", :last_week_kills => "KillsLastWeek", :total_kills => "KillsTotal",
483
+ :yesterday_victory_points => 'VictoryPointsYesterday', :last_week_victory_points => 'VictoryPointsLastWeek', :total_victory_points => 'VictoryPointsTotal' }
484
+ # Inject here to save 60 lines.
485
+ characters = template.inject({}) do |h,(key,val)|
486
+ klass = key.to_s =~ /kills/ ? Reve::Classes::CharacterFactionKills : Reve::Classes::CharacterFactionVictoryPoints
487
+ h[key] = pull_out_top_10_data(xml,klass,'characters',val)
488
+ h
489
+ end
490
+ corporations = template.inject({}) do |h,(key,val)|
491
+ klass = key.to_s =~ /kills/ ? Reve::Classes::CorporationFactionKills : Reve::Classes::CorporationFactionVictoryPoints
492
+ h[key] = pull_out_top_10_data(xml,klass,'corporations',val)
493
+ h
494
+ end
495
+ factions = template.inject({}) do |h,(key,val)|
496
+ klass = key.to_s =~ /kills/ ? Reve::Classes::FactionKills : Reve::Classes::FactionVictoryPoints
497
+ h[key] = pull_out_top_10_data(xml,klass,'factions',val)
498
+ h
499
+ end
500
+ Reve::Classes::FactionWarTopStats.new(characters,corporations,factions)
501
+ end
399
502
 
400
503
  # Get a list of personal assets for the characterid.
401
504
  # See the Reve::Classes::Asset and Reve::Classes::AssetContainer classes
@@ -786,5 +889,13 @@ module Reve
786
889
  method = caller(3).first.match(/\`(.+)'/)[1] # Get the API method that's being called. This is called from save_xml -> process_query -> :real_method
787
890
  File.join(@save_path,@userid.to_s,method,( @cached_until || Time.now.utc).to_i.to_s + '.xml')
788
891
  end
892
+
893
+ # Returns an array of +klass+
894
+ def pull_out_top_10_data(xml,klass,kind,field)
895
+ xml.search("/eveapi/result/#{kind}/rowset[@name='#{field}']/row").inject([]) do |all,row|
896
+ all << klass.new(row)
897
+ all
898
+ end
899
+ end
789
900
  end
790
901
  end
data/test/test_reve.rb CHANGED
@@ -271,6 +271,152 @@ class TestReve < Test::Unit::TestCase
271
271
  end
272
272
  end
273
273
  end
274
+
275
+ def test_faction_war_system_stats_clean(skip_preamble = false,stats = nil)
276
+ Reve::API.faction_war_occupancy_url = XML_BASE + 'map_facwarsystems.xml'
277
+ unless skip_preamble # not best practice but will get the job done!
278
+ stats = nil
279
+ assert_nothing_raised do
280
+ stats = @api.faction_war_system_stats
281
+ end
282
+ end
283
+ assert stats.all? { |s| s.kind_of?(Reve::Classes::FactionWarSystemStatus) }
284
+ assert_equal(4, stats.size)
285
+ stats.each do |sys|
286
+ # can't assert_not_nil faction_id or faction_name since they may be nil
287
+ assert_not_nil(sys.system_id)
288
+ assert_not_nil(sys.system_name)
289
+ assert_not_nil(sys.contested)
290
+ end
291
+ assert_equal(1, stats.select { |s| s.faction_id == 500001 }.size)
292
+ assert_equal(1, stats.select { |s| s.faction_id == 500002 }.size)
293
+ assert_equal(1, stats.select { |s| ! s.contested }.size)
294
+ assert_equal(2, stats.select { |s| s.faction_id.nil? }.size)
295
+ assert_equal(3, stats.select { |s| s.contested }.size)
296
+ end
297
+
298
+ def test_faction_war_system_stats_alias_clean
299
+ Reve::API.faction_war_occupancy_url = XML_BASE + 'map_facwarsystems.xml'
300
+ stats = nil
301
+ assert_nothing_raised do
302
+ stats = @api.faction_war_occupancy
303
+ end
304
+ test_faction_war_system_stats_clean(true,stats)
305
+ end
306
+
307
+ def test_faction_war_stats_clean
308
+ Reve::API.general_faction_war_stats_url = XML_BASE + 'eve_facwarstats.xml'
309
+ stats = nil
310
+ assert_nothing_raised do
311
+ stats = @api.faction_war_stats
312
+ end
313
+ assert_instance_of(Reve::Classes::EveFactionWarStat, stats)
314
+ assert_equal(1707, stats.kills_yesterday)
315
+ assert_equal(9737, stats.kills_last_week)
316
+ assert_equal(27866, stats.kills_total)
317
+ assert_equal(215674, stats.victory_points_yesterday)
318
+ assert_equal(1738351, stats.victory_points_last_week)
319
+ assert_equal(5613787, stats.victory_points_total)
320
+
321
+ assert stats.faction_wars.all? { |w| w.kind_of?(Reve::Classes::FactionWar) }
322
+ assert stats.faction_participants.all? { |w| w.kind_of?(Reve::Classes::FactionwideFactionWarParticpant) }
323
+ assert_equal(8, stats.faction_wars.size)
324
+ assert_equal(4, stats.faction_participants.size)
325
+ stats.faction_wars.each do |war|
326
+ assert_not_nil(war.faction_id)
327
+ assert_not_nil(war.faction_name)
328
+ assert_not_nil(war.against_id)
329
+ assert_not_nil(war.against_name)
330
+ end
331
+ stats.faction_participants.each do |participant|
332
+ assert_not_nil(participant.faction_id)
333
+ assert_not_nil(participant.faction_name)
334
+ assert_not_nil(participant.systems_controlled)
335
+ assert_not_nil(participant.kills_yesterday)
336
+ assert_not_nil(participant.kills_last_week)
337
+ assert_not_nil(participant.kills_total)
338
+ assert_not_nil(participant.victory_points_yesterday)
339
+ assert_not_nil(participant.victory_points_last_week)
340
+ assert_not_nil(participant.victory_points_total)
341
+ end
342
+ assert_not_nil(@api.cached_until)
343
+ end
344
+ def test_personal_factional_war_stats_clean
345
+ Reve::API.personal_faction_war_stats_url = XML_BASE + 'char_facwarstats.xml'
346
+ stats = nil
347
+ assert_nothing_raised do
348
+ stats = @api.personal_faction_war_stats
349
+ end
350
+ assert_instance_of Reve::Classes::PersonalFactionWarParticpant, stats
351
+ assert_equal(500001, stats.faction_id)
352
+ assert_equal("Caldari State", stats.faction_name)
353
+ assert_equal("2008-06-13 20:38:00".to_time, stats.enlisted_at)
354
+ assert_equal(1, stats.current_rank)
355
+ assert_equal(2, stats.highest_rank)
356
+ assert_equal(3, stats.kills_yesterday)
357
+ assert_equal(4, stats.kills_last_week)
358
+ assert_equal(5, stats.kills_total)
359
+ assert_equal(124, stats.victory_points_yesterday)
360
+ assert_equal(124, stats.victory_points_last_week)
361
+ assert_equal(506, stats.victory_points_total)
362
+ end
363
+
364
+ def test_corporate_factional_war_stats_clean
365
+ Reve::API.corporate_faction_war_stats_url = XML_BASE + 'corp_facwarstats.xml'
366
+ stats = nil
367
+ assert_nothing_raised do
368
+ stats = @api.corporate_faction_war_stats
369
+ end
370
+ assert_instance_of Reve::Classes::CorporateFactionWarParticpant, stats
371
+ assert_equal(500001, stats.faction_id)
372
+ assert_equal("Caldari State", stats.faction_name)
373
+ assert_equal("2008-06-10 22:10:00".to_time, stats.enlisted_at)
374
+ assert_equal(4, stats.pilots)
375
+ assert_equal(3, stats.kills_yesterday)
376
+ assert_equal(4, stats.kills_last_week)
377
+ assert_equal(5, stats.kills_total)
378
+ assert_equal(124, stats.victory_points_yesterday)
379
+ assert_equal(906, stats.victory_points_last_week)
380
+ assert_equal(2690, stats.victory_points_total)
381
+ end
382
+
383
+ def test_faction_war_top_stats_clean
384
+ Reve::API.top_faction_war_stats_url = XML_BASE + 'eve_facwartopstats.xml'
385
+ stats = nil
386
+ assert_nothing_raised do
387
+ stats = @api.faction_war_top_stats
388
+ end
389
+ assert_kind_of(Reve::Classes::FactionWarTopStats, stats)
390
+ [ :characters, :corporations, :factions ].each do |kind|
391
+ [ :yesterday_kills, :last_week_kills, :total_kills ].each do |attr|
392
+ assert_kind_of(Hash, stats.send(kind))
393
+ assert_kind_of(Array, stats.send(kind)[attr])
394
+ assert ! stats.send(kind)[attr].empty?
395
+ [ :name, :id, :kills ].each do |c_attr|
396
+ assert stats.send(kind)[attr].all? { |e| ! e.nil? }
397
+ end
398
+ end
399
+ [ :last_week_victory_points, :yesterday_victory_points, :total_victory_points ].each do |attr|
400
+ assert_kind_of(Hash, stats.send(kind))
401
+ assert_kind_of(Array, stats.send(kind)[attr])
402
+ assert ! stats.send(kind)[attr].empty?
403
+ [ :name, :id, :victory_points ].each do |c_attr|
404
+ assert stats.send(kind)[attr].all? { |e| ! e.nil? }
405
+ end
406
+ end
407
+ end
408
+ assert_equal(5, stats.characters[:yesterday_kills].size)
409
+ assert_equal(6, stats.characters[:last_week_kills].size)
410
+ assert_equal(7, stats.characters[:total_kills].size)
411
+ [ :yesterday_kills, :yesterday_victory_points, :last_week_kills,
412
+ :last_week_victory_points, :total_kills, :total_victory_points ].each do |attr|
413
+ assert_equal(10,stats.corporations[attr].size)
414
+ end
415
+ [ :yesterday_kills, :yesterday_victory_points, :last_week_kills,
416
+ :last_week_victory_points, :total_kills, :total_victory_points ].each do |attr|
417
+ assert_equal(4,stats.factions[attr].size)
418
+ end
419
+ end
274
420
 
275
421
  def test_assets_clean
276
422
  Reve::API.personal_assets_url = XML_BASE + 'assets.xml'
@@ -0,0 +1,18 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <eveapi version="2">
3
+ <currentTime>2008-06-29 20:22:03</currentTime>
4
+ <result>
5
+ <factionID>500001</factionID>
6
+ <factionName>Caldari State</factionName>
7
+ <enlisted>2008-06-13 20:38:00</enlisted>
8
+ <currentRank>1</currentRank>
9
+ <highestRank>2</highestRank>
10
+ <killsYesterday>3</killsYesterday>
11
+ <killsLastWeek>4</killsLastWeek>
12
+ <killsTotal>5</killsTotal>
13
+ <victoryPointsYesterday>124</victoryPointsYesterday>
14
+ <victoryPointsLastWeek>124</victoryPointsLastWeek>
15
+ <victoryPointsTotal>506</victoryPointsTotal>
16
+ </result>
17
+ <cachedUntil>2008-06-29 21:22:03</cachedUntil>
18
+ </eveapi>
@@ -0,0 +1,17 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <eveapi version="2">
3
+ <currentTime>2008-06-29 20:23:23</currentTime>
4
+ <result>
5
+ <factionID>500001</factionID>
6
+ <factionName>Caldari State</factionName>
7
+ <enlisted>2008-06-10 22:10:00</enlisted>
8
+ <pilots>4</pilots>
9
+ <killsYesterday>3</killsYesterday>
10
+ <killsLastWeek>4</killsLastWeek>
11
+ <killsTotal>5</killsTotal>
12
+ <victoryPointsYesterday>124</victoryPointsYesterday>
13
+ <victoryPointsLastWeek>906</victoryPointsLastWeek>
14
+ <victoryPointsTotal>2690</victoryPointsTotal>
15
+ </result>
16
+ <cachedUntil>2008-06-29 21:23:23</cachedUntil>
17
+ </eveapi>
@@ -0,0 +1,5 @@
1
+ <?xml version='1.0' encoding='utf-8'?>
2
+ <eveapi version="1">
3
+ <currentTime>Sat Jun 28 21:11:31 UTC 2008</currentTime>
4
+ <error code="124">Character not enlisted in Factional Warfare.</error>
5
+ </eveapi>
@@ -0,0 +1,5 @@
1
+ <?xml version='1.0' encoding='utf-8'?>
2
+ <eveapi version="1">
3
+ <currentTime>Sat Jun 28 21:11:31 UTC 2008</currentTime>
4
+ <error code="125">Corporation not enlisted in Factional Warfare.</error>
5
+ </eveapi>
@@ -0,0 +1,5 @@
1
+ <?xml version='1.0' encoding='utf-8'?>
2
+ <eveapi version="1">
3
+ <currentTime>Sat Jun 28 21:11:31 UTC 2008</currentTime>
4
+ <error code="524">Failed getting faction member information.</error>
5
+ </eveapi>
@@ -0,0 +1,35 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <eveapi version="2">
3
+ <currentTime>2008-06-29 19:34:10</currentTime>
4
+ <result>
5
+ <totals>
6
+ <killsYesterday>1707</killsYesterday>
7
+ <killsLastWeek>9737</killsLastWeek>
8
+ <killsTotal>27866</killsTotal>
9
+ <victoryPointsYesterday>215674</victoryPointsYesterday>
10
+ <victoryPointsLastWeek>1738351</victoryPointsLastWeek>
11
+ <victoryPointsTotal>5613787</victoryPointsTotal>
12
+ </totals>
13
+ <rowset name="factions" key="factionID" columns="factionID,factionName,pilots,systemsControlled,killsYesterday,killsLastWeek,killsTotal,victoryPointsYesterday">
14
+ <row factionID="500001" factionName="Caldari State"
15
+ pilots="7780" systemsControlled="1"
16
+ killsYesterday="355" killsLastWeek="2478" killsTotal="6417"
17
+ victoryPointsYesterday="18019" victoryPointsLastWeek="123493" victoryPointsTotal="313523"
18
+ />
19
+ <row factionID="500002" factionName="Minmatar Republic" pilots="4677" systemsControlled="8" killsYesterday="460" killsLastWeek="2818" killsTotal="7824" victoryPointsYesterday="13368" victoryPointsLastWeek="100523" victoryPointsTotal="313010" />
20
+ <row factionID="500003" factionName="Amarr Empire" pilots="2844" systemsControlled="0" killsYesterday="225" killsLastWeek="1530" killsTotal="4042" victoryPointsYesterday="14609" victoryPointsLastWeek="89601" victoryPointsTotal="271238" />
21
+ <row factionID="500004" factionName="Gallente Federation" pilots="4845" systemsControlled="0" killsYesterday="667" killsLastWeek="2911" killsTotal="9583" victoryPointsYesterday="18505" victoryPointsLastWeek="120472" victoryPointsTotal="301694" />
22
+ </rowset>
23
+ <rowset name="factionWars" columns="factionID,factionName,againstID,againstName">
24
+ <row factionID="500001" factionName="Caldari State" againstID="500002" againstName="Minmatar Republic" />
25
+ <row factionID="500001" factionName="Caldari State" againstID="500004" againstName="Gallente Federation" />
26
+ <row factionID="500002" factionName="Minmatar Republic" againstID="500001" againstName="Caldari State" />
27
+ <row factionID="500002" factionName="Minmatar Republic" againstID="500003" againstName="Amarr Empire" />
28
+ <row factionID="500003" factionName="Amarr Empire" againstID="500002" againstName="Minmatar Republic" />
29
+ <row factionID="500003" factionName="Amarr Empire" againstID="500004" againstName="Gallente Federation" />
30
+ <row factionID="500004" factionName="Gallente Federation" againstID="500001" againstName="Caldari State" />
31
+ <row factionID="500004" factionName="Gallente Federation" againstID="500003" againstName="Amarr Empire" />
32
+ </rowset>
33
+ </result>
34
+ <cachedUntil>2008-06-29 20:34:11</cachedUntil>
35
+ </eveapi>
@@ -0,0 +1,178 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <eveapi version="2">
3
+ <currentTime>2008-06-29 19:34:52</currentTime>
4
+ <result>
5
+ <characters>
6
+ <rowset name="KillsYesterday" key="characterID" columns="characterID,characterName,kills">
7
+ <row characterID="905511905" characterName="Talana Mershie" kills="18" />
8
+ <row characterID="843948518" characterName="streath" kills="4" />
9
+ <row characterID="826540579" characterName="The Aegis" kills="4" />
10
+ <row characterID="815310753" characterName="Teimur Leng" kills="4" />
11
+ <row characterID="781481257" characterName="Sanjaya" kills="4" />
12
+ </rowset>
13
+ <rowset name="KillsLastWeek" key="characterID" columns="characterID,characterName,kills">
14
+ <row characterID="977188436" characterName="LOPEZ" kills="93" />
15
+ <row characterID="241730331" characterName="END3R 101" kills="71" />
16
+ <row characterID="830875021" characterName="FlyinBryan" kills="63" />
17
+ <row characterID="736809132" characterName="ZaaK Danieel" kills="56" />
18
+ <row characterID="636632536" characterName="Shadowjet" kills="55" />
19
+ <row characterID="1126646664" characterName="eXtas" kills="52" />
20
+ </rowset>
21
+ <rowset name="KillsTotal" key="characterID" columns="characterID,characterName,kills">
22
+ <row characterID="1344831787" characterName="Ruff Ceyx" kills="213" />
23
+ <row characterID="811359389" characterName="Tiberius Horde" kills="132" />
24
+ <row characterID="876876514" characterName="Legionn" kills="123" />
25
+ <row characterID="1126646664" characterName="eXtas" kills="114" />
26
+ <row characterID="830875021" characterName="FlyinBryan" kills="101" />
27
+ <row characterID="1074595973" characterName="remo man" kills="98" />
28
+ <row characterID="589938566" characterName="HakanSherif" kills="98" />
29
+ </rowset>
30
+ <rowset name="VictoryPointsYesterday" key="characterID" columns="characterID,characterName,victoryPoints">
31
+ <row characterID="282168732" characterName="JirikAS" victoryPoints="3125" />
32
+ <row characterID="414444939" characterName="Mirthe" victoryPoints="2179" />
33
+ <row characterID="973034682" characterName="Granny McRough" victoryPoints="1700" />
34
+ <row characterID="882130191" characterName="FlameGlow" victoryPoints="1650" />
35
+ <row characterID="796503945" characterName="Truss Me" victoryPoints="1555" />
36
+ <row characterID="787100587" characterName="Shock Ryder" victoryPoints="1511" />
37
+ <row characterID="755903868" characterName="Amira Silvermist" victoryPoints="1505" />
38
+ <row characterID="1697360006" characterName="Hesperius" victoryPoints="1443" />
39
+ </rowset>
40
+ <rowset name="VictoryPointsLastWeek" key="characterID" columns="characterID,characterName,victoryPoints">
41
+ <row characterID="282168732" characterName="JirikAS" victoryPoints="16386" />
42
+ <row characterID="986464282" characterName="Lutrik" victoryPoints="10811" />
43
+ <row characterID="2030277341" characterName="Karismao" victoryPoints="9914" />
44
+ <row characterID="870861557" characterName="Col O'Nells" victoryPoints="9223" />
45
+ <row characterID="1972647726" characterName="Muiredhach" victoryPoints="9080" />
46
+ <row characterID="1446851384" characterName="EtaNn" victoryPoints="7154" />
47
+ <row characterID="1386146895" characterName="Julianus Soter" victoryPoints="6979" />
48
+ <row characterID="1131848106" characterName="Karesk" victoryPoints="6782" />
49
+ <row characterID="1800655218" characterName="Erika Bronz" victoryPoints="6759" />
50
+ </rowset>
51
+ <rowset name="VictoryPointsTotal" key="characterID" columns="characterID,characterName,victoryPoints">
52
+ <row characterID="373193721" characterName="Daniel Jackson" victoryPoints="25703" />
53
+ <row characterID="986464282" characterName="Lutrik" victoryPoints="23094" />
54
+ <row characterID="282168732" characterName="JirikAS" victoryPoints="22851" />
55
+ <row characterID="870861557" characterName="Col O'Nells" victoryPoints="17118" />
56
+ <row characterID="1386146895" characterName="Julianus Soter" victoryPoints="13611" />
57
+ <row characterID="214388243" characterName="Shivaja" victoryPoints="12841" />
58
+ <row characterID="882130191" characterName="FlameGlow" victoryPoints="12331" />
59
+ <row characterID="184494156" characterName="8eta" victoryPoints="11870" />
60
+ <row characterID="514290659" characterName="Laush Argo" victoryPoints="11805" />
61
+ <row characterID="231730327" characterName="general beanflicker" victoryPoints="11021" />
62
+ </rowset>
63
+ </characters>
64
+ <corporations>
65
+ <rowset name="KillsYesterday" key="corporationID" columns="corporationID,corporationName,kills">
66
+ <row corporationID="1000181" corporationName="Federal Defence Union" kills="105" />
67
+ <row corporationID="1000180" corporationName="State Protectorate" kills="88" />
68
+ <row corporationID="160174668" corporationName="0utbreak" kills="70" />
69
+ <row corporationID="1019906116" corporationName="Invicta." kills="55" />
70
+ <row corporationID="152858207" corporationName="Seraphin Technologies" kills="49" />
71
+ <row corporationID="1000182" corporationName="Tribal Liberation Force" kills="49" />
72
+ <row corporationID="794269471" corporationName="The Dead Parrot Shoppe Inc." kills="49" />
73
+ <row corporationID="850892634" corporationName="Kinda'Shujaa" kills="30" />
74
+ <row corporationID="1000179" corporationName="24th Imperial Crusade" kills="29" />
75
+ <row corporationID="329699206" corporationName="Mentally Unstable Enterprises" kills="26" />
76
+ </rowset>
77
+ <rowset name="KillsLastWeek" key="corporationID" columns="corporationID,corporationName,kills">
78
+ <row corporationID="1000180" corporationName="State Protectorate" kills="599" />
79
+ <row corporationID="160174668" corporationName="0utbreak" kills="442" />
80
+ <row corporationID="1000181" corporationName="Federal Defence Union" kills="419" />
81
+ <row corporationID="1000182" corporationName="Tribal Liberation Force" kills="325" />
82
+ <row corporationID="152858207" corporationName="Seraphin Technologies" kills="290" />
83
+ <row corporationID="1019906116" corporationName="Invicta." kills="280" />
84
+ <row corporationID="794269471" corporationName="The Dead Parrot Shoppe Inc." kills="266" />
85
+ <row corporationID="329699206" corporationName="Mentally Unstable Enterprises" kills="187" />
86
+ <row corporationID="822018487" corporationName="Biometronics Ltd" kills="164" />
87
+ <row corporationID="1000179" corporationName="24th Imperial Crusade" kills="150" />
88
+ </rowset>
89
+ <rowset name="KillsTotal" key="corporationID" columns="corporationID,corporationName,kills">
90
+ <row corporationID="1000180" corporationName="State Protectorate" kills="2051" />
91
+ <row corporationID="1019906116" corporationName="Invicta." kills="1665" />
92
+ <row corporationID="1000181" corporationName="Federal Defence Union" kills="1460" />
93
+ <row corporationID="1000182" corporationName="Tribal Liberation Force" kills="1387" />
94
+ <row corporationID="794269471" corporationName="The Dead Parrot Shoppe Inc." kills="813" />
95
+ <row corporationID="160174668" corporationName="0utbreak" kills="710" />
96
+ <row corporationID="152858207" corporationName="Seraphin Technologies" kills="650" />
97
+ <row corporationID="1000179" corporationName="24th Imperial Crusade" kills="605" />
98
+ <row corporationID="917074299" corporationName="Atomic Battle Penguins" kills="553" />
99
+ <row corporationID="850892634" corporationName="Kinda'Shujaa" kills="490" />
100
+ </rowset>
101
+ <rowset name="VictoryPointsYesterday" key="corporationID" columns="corporationID,corporationName,victoryPoints">
102
+ <row corporationID="1000182" corporationName="Tribal Liberation Force" victoryPoints="6174" />
103
+ <row corporationID="1000179" corporationName="24th Imperial Crusade" victoryPoints="5883" />
104
+ <row corporationID="1000181" corporationName="Federal Defence Union" victoryPoints="5457" />
105
+ <row corporationID="1000180" corporationName="State Protectorate" victoryPoints="4137" />
106
+ <row corporationID="252677747" corporationName="CHON" victoryPoints="3621" />
107
+ <row corporationID="1799940485" corporationName="24th Providence Templar Division" victoryPoints="2604" />
108
+ <row corporationID="536016894" corporationName="XERCORE" victoryPoints="2258" />
109
+ <row corporationID="182193435" corporationName="Artifex Dynamics" victoryPoints="2000" />
110
+ <row corporationID="794269471" corporationName="The Dead Parrot Shoppe Inc." victoryPoints="1996" />
111
+ <row corporationID="850892634" corporationName="Kinda'Shujaa" victoryPoints="1715" />
112
+ </rowset>
113
+ <rowset name="VictoryPointsLastWeek" key="corporationID" columns="corporationID,corporationName,victoryPoints">
114
+ <row corporationID="1000180" corporationName="State Protectorate" victoryPoints="53990" />
115
+ <row corporationID="1000182" corporationName="Tribal Liberation Force" victoryPoints="47771" />
116
+ <row corporationID="1000181" corporationName="Federal Defence Union" victoryPoints="35725" />
117
+ <row corporationID="1000179" corporationName="24th Imperial Crusade" victoryPoints="31691" />
118
+ <row corporationID="252677747" corporationName="CHON" victoryPoints="22134" />
119
+ <row corporationID="794269471" corporationName="The Dead Parrot Shoppe Inc." victoryPoints="19982" />
120
+ <row corporationID="850892634" corporationName="Kinda'Shujaa" victoryPoints="16816" />
121
+ <row corporationID="340962950" corporationName="Selectus Pravus Lupus" victoryPoints="15215" />
122
+ <row corporationID="913321174" corporationName="Third Return - Talons" victoryPoints="12768" />
123
+ <row corporationID="1230042437" corporationName="Strix Armaments and Defence" victoryPoints="11191" />
124
+ </rowset>
125
+ <rowset name="VictoryPointsTotal" key="corporationID" columns="corporationID,corporationName,victoryPoints">
126
+ <row corporationID="1000180" corporationName="State Protectorate" victoryPoints="176721" />
127
+ <row corporationID="1000182" corporationName="Tribal Liberation Force" victoryPoints="156580" />
128
+ <row corporationID="1000179" corporationName="24th Imperial Crusade" victoryPoints="106187" />
129
+ <row corporationID="1000181" corporationName="Federal Defence Union" victoryPoints="103072" />
130
+ <row corporationID="850892634" corporationName="Kinda'Shujaa" victoryPoints="64073" />
131
+ <row corporationID="794269471" corporationName="The Dead Parrot Shoppe Inc." victoryPoints="55997" />
132
+ <row corporationID="144544759" corporationName="PIE Inc." victoryPoints="42285" />
133
+ <row corporationID="252677747" corporationName="CHON" victoryPoints="41338" />
134
+ <row corporationID="340962950" corporationName="Selectus Pravus Lupus" victoryPoints="38131" />
135
+ <row corporationID="913321174" corporationName="Third Return - Talons" victoryPoints="26671" />
136
+ </rowset>
137
+ </corporations>
138
+ <factions>
139
+ <rowset name="KillsYesterday" key="factionID" columns="factionID,factionName,kills">
140
+ <row factionID="500004" factionName="Gallente Federation" kills="667" />
141
+ <row factionID="500002" factionName="Minmatar Republic" kills="460" />
142
+ <row factionID="500001" factionName="Caldari State" kills="355" />
143
+ <row factionID="500003" factionName="Amarr Empire" kills="225" />
144
+ </rowset>
145
+ <rowset name="KillsLastWeek" key="factionID" columns="factionID,factionName,kills">
146
+ <row factionID="500004" factionName="Gallente Federation" kills="2911" />
147
+ <row factionID="500002" factionName="Minmatar Republic" kills="2818" />
148
+ <row factionID="500001" factionName="Caldari State" kills="2478" />
149
+ <row factionID="500003" factionName="Amarr Empire" kills="1530" />
150
+ </rowset>
151
+ <rowset name="KillsTotal" key="factionID" columns="factionID,factionName,kills">
152
+ <row factionID="500004" factionName="Gallente Federation" kills="9583" />
153
+ <row factionID="500002" factionName="Minmatar Republic" kills="7824" />
154
+ <row factionID="500001" factionName="Caldari State" kills="6417" />
155
+ <row factionID="500003" factionName="Amarr Empire" kills="4042" />
156
+ </rowset>
157
+ <rowset name="VictoryPointsYesterday" key="factionID" columns="factionID,factionName,victoryPoints">
158
+ <row factionID="500004" factionName="Gallente Federation" victoryPoints="18505" />
159
+ <row factionID="500001" factionName="Caldari State" victoryPoints="18019" />
160
+ <row factionID="500003" factionName="Amarr Empire" victoryPoints="14609" />
161
+ <row factionID="500002" factionName="Minmatar Republic" victoryPoints="13368" />
162
+ </rowset>
163
+ <rowset name="VictoryPointsLastWeek" key="factionID" columns="factionID,factionName,victoryPoints">
164
+ <row factionID="500001" factionName="Caldari State" victoryPoints="123493" />
165
+ <row factionID="500004" factionName="Gallente Federation" victoryPoints="120472" />
166
+ <row factionID="500002" factionName="Minmatar Republic" victoryPoints="100523" />
167
+ <row factionID="500003" factionName="Amarr Empire" victoryPoints="89601" />
168
+ </rowset>
169
+ <rowset name="VictoryPointsTotal" key="factionID" columns="factionID,factionName,victoryPoints">
170
+ <row factionID="500001" factionName="Caldari State" victoryPoints="313523" />
171
+ <row factionID="500002" factionName="Minmatar Republic" victoryPoints="313010" />
172
+ <row factionID="500004" factionName="Gallente Federation" victoryPoints="301694" />
173
+ <row factionID="500003" factionName="Amarr Empire" victoryPoints="271238" />
174
+ </rowset>
175
+ </factions>
176
+ </result>
177
+ <cachedUntil>2008-06-29 20:34:53</cachedUntil>
178
+ </eveapi>
@@ -0,0 +1,13 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <eveapi version="2">
3
+ <currentTime>2008-06-29 19:36:16</currentTime>
4
+ <result>
5
+ <rowset name="solarSystems" key="solarSystemID" columns="solarSystemID,solarSystemName,occupyingFactionID,occupyingFactionName,contested">
6
+ <row solarSystemID="30002056" solarSystemName="Resbroko" occupyingFactionID="0" occupyingFactionName="" contested="True" />
7
+ <row solarSystemID="30002057" solarSystemName="Hadozeko" occupyingFactionID="0" occupyingFactionName="" contested="False" />
8
+ <row solarSystemID="30003857" solarSystemName="Odamia" occupyingFactionID="500001" occupyingFactionName="Caldari State" contested="True" />
9
+ <row solarSystemID="30002960" solarSystemName="Arzad" occupyingFactionID="500002" occupyingFactionName="Minmatar Republic" contested="True" />
10
+ </rowset>
11
+ <cachedUntil>2008-06-29 20:36:16</cachedUntil>
12
+ </result>
13
+ </eveapi>
metadata CHANGED
@@ -1,33 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.4
3
- specification_version: 1
4
2
  name: reve
5
3
  version: !ruby/object:Gem::Version
6
- version: 0.0.94
7
- date: 2008-06-13 00:00:00 -04:00
8
- summary: Reve is a Ruby library to interface with the Eve Online API
9
- require_paths:
10
- - lib
11
- email: lisa@thedoh.com
12
- homepage: http://revetrac.crudvision.com
13
- rubyforge_project:
14
- description:
15
- autorequire:
16
- default_executable:
17
- bindir: bin
18
- has_rdoc: true
19
- required_ruby_version: !ruby/object:Gem::Version::Requirement
20
- requirements:
21
- - - ">"
22
- - !ruby/object:Gem::Version
23
- version: 0.0.0
24
- version:
4
+ version: 0.0.96
25
5
  platform: ruby
26
- signing_key:
27
- cert_chain:
28
- post_install_message:
29
6
  authors:
30
7
  - Lisa Seelye
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2008-07-12 00:00:00 -04:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: hpricot
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0.6"
24
+ version:
25
+ description:
26
+ email: lisa@thedoh.com
27
+ executables: []
28
+
29
+ extensions: []
30
+
31
+ extra_rdoc_files:
32
+ - ChangeLog
31
33
  files:
32
34
  - Rakefile
33
35
  - lib/reve/classes.rb
@@ -38,16 +40,44 @@ files:
38
40
  - tester.rb
39
41
  - init.rb
40
42
  - ChangeLog
43
+ has_rdoc: true
44
+ homepage: http://revetrac.crudvision.com
45
+ post_install_message:
46
+ rdoc_options: []
47
+
48
+ require_paths:
49
+ - lib
50
+ required_ruby_version: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: "0"
55
+ version:
56
+ required_rubygems_version: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: "0"
61
+ version:
62
+ requirements: []
63
+
64
+ rubyforge_project:
65
+ rubygems_version: 1.2.0
66
+ signing_key:
67
+ specification_version: 2
68
+ summary: Reve is a Ruby library to interface with the Eve Online API
41
69
  test_files:
42
70
  - test/test_reve.rb
43
71
  - test/xml/alliances.xml
44
72
  - test/xml/assets.xml
45
73
  - test/xml/badxml.xml
74
+ - test/xml/char_facwarstats.xml
46
75
  - test/xml/character_sheet.xml
47
76
  - test/xml/characterid.xml
48
77
  - test/xml/charactername.xml
49
78
  - test/xml/characters.xml
50
79
  - test/xml/conqurable_stations.xml
80
+ - test/xml/corp_facwarstats.xml
51
81
  - test/xml/corporate_assets_list.xml
52
82
  - test/xml/corporate_market_orders.xml
53
83
  - test/xml/corporate_wallet_balance.xml
@@ -78,6 +108,8 @@ test_files:
78
108
  - test/xml/errors/error_121.xml
79
109
  - test/xml/errors/error_122.xml
80
110
  - test/xml/errors/error_123.xml
111
+ - test/xml/errors/error_124.xml
112
+ - test/xml/errors/error_125.xml
81
113
  - test/xml/errors/error_200.xml
82
114
  - test/xml/errors/error_201.xml
83
115
  - test/xml/errors/error_202.xml
@@ -117,14 +149,18 @@ test_files:
117
149
  - test/xml/errors/error_521.xml
118
150
  - test/xml/errors/error_522.xml
119
151
  - test/xml/errors/error_523.xml
152
+ - test/xml/errors/error_524.xml
120
153
  - test/xml/errors/error_900.xml
121
154
  - test/xml/errors/error_901.xml
122
155
  - test/xml/errors/error_902.xml
123
156
  - test/xml/errors/error_903.xml
124
157
  - test/xml/errors/error_999.xml
125
158
  - test/xml/errors.xml
159
+ - test/xml/eve_facwarstats.xml
160
+ - test/xml/eve_facwartopstats.xml
126
161
  - test/xml/industryjobs.xml
127
162
  - test/xml/kills.xml
163
+ - test/xml/map_facwarsystems.xml
128
164
  - test/xml/mapjumps.xml
129
165
  - test/xml/mapkills.xml
130
166
  - test/xml/market_transactions.xml
@@ -140,23 +176,3 @@ test_files:
140
176
  - test/xml/starbases.xml
141
177
  - test/xml/wallet_balance.xml
142
178
  - test/xml/wallet_journal.xml
143
- rdoc_options: []
144
-
145
- extra_rdoc_files:
146
- - ChangeLog
147
- executables: []
148
-
149
- extensions: []
150
-
151
- requirements: []
152
-
153
- dependencies:
154
- - !ruby/object:Gem::Dependency
155
- name: hpricot
156
- version_requirement:
157
- version_requirements: !ruby/object:Gem::Version::Requirement
158
- requirements:
159
- - - ">="
160
- - !ruby/object:Gem::Version
161
- version: "0.6"
162
- version: