dsander-reve 0.0.116 → 0.0.117

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/Rakefile CHANGED
@@ -58,11 +58,11 @@ elsif File.exists?('.git')
58
58
  begin
59
59
  require 'jeweler'
60
60
  Jeweler::Tasks.new do |s|
61
- s.name = "reve"
61
+ s.name = "dsander-reve"
62
62
  s.rubyforge_project = "reve"
63
63
  s.author = "Lisa Seelye"
64
64
  s.email = "lisa@thedoh.com"
65
- s.homepage = "http://revetrac.crudvision.com"
65
+ s.homepage = "http://github.com/lisa/reve"
66
66
  s.platform = Gem::Platform::RUBY
67
67
  s.summary = "Reve is a Ruby library to interface with the Eve Online API"
68
68
  s.files = FileList["Rakefile","LICENSE", "lib/**/*.rb","reve.rb","tester.rb","init.rb"].to_a
@@ -72,8 +72,21 @@ elsif File.exists?('.git')
72
72
  s.extra_rdoc_files = ["ChangeLog"]
73
73
  s.add_dependency("hpricot",">= 0.6")
74
74
  end
75
+ Jeweler::GemcutterTasks.new
75
76
  rescue LoadError
76
77
  puts "Jeweler, or one of its dependencies, is not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
77
78
  end
78
79
  end
79
80
 
81
+ begin
82
+ require 'rcov/rcovtask'
83
+ Rcov::RcovTask.new do |test|
84
+ test.libs << 'test'
85
+ test.pattern = 'test/**/test_*.rb'
86
+ test.verbose = true
87
+ end
88
+ rescue LoadError
89
+ task :rcov do
90
+ abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
91
+ end
92
+ end
data/init.rb CHANGED
@@ -1 +1,2 @@
1
+ # I make Rails happy.
1
2
  require 'reve'
data/lib/reve/classes.rb CHANGED
@@ -529,7 +529,7 @@ module Reve #:nodoc:
529
529
  @grade = elem["grade"].to_i
530
530
  end
531
531
  end
532
-
532
+
533
533
  # Represents a Character for the Reve::API#characters, Reve::API#character_name and Reve::API#character_id calls.
534
534
  # Attributes
535
535
  # * name ( String ) - Name of the Character
@@ -606,6 +606,52 @@ module Reve #:nodoc:
606
606
  end
607
607
  end
608
608
 
609
+ # Holds the result of the Reve::API#corporate_member_security call.
610
+ # Attributes
611
+ # * members ( [CorporationMember] ) - Array of CorporationMember
612
+ # See Also: CorporationMember, CorporateRole, CorporateTitle
613
+ class CorporationMemberSecurity
614
+ attr_accessor :members
615
+
616
+ def initialize
617
+ @members = []
618
+ end
619
+ end
620
+
621
+ # Part of the CorporationMemberSecurity; represnets a Corporation's member
622
+ # All of these values are internal to CCP; +shape_1+ matches with +color_1+ and so on.
623
+ # Attributes
624
+ # * name ( String ) - Name of the Character
625
+ # * id ( Fixnum ) - ID of the Character
626
+ # * roles ( [CorporateRole] ) - Array of Roles
627
+ class CorporationMember
628
+ attr_accessor :roles, :grantableRoles, :rolesAtHQ, :grantableRolesAtHQ, :rolesAtBase
629
+ attr_accessor :grantableRolesAtBase, :rolesAtOther, :grantableRolesAtOther, :titles
630
+ attr_accessor :id, :name
631
+
632
+ alias_method :roles_at_hq, :rolesAtHQ
633
+ alias_method :grantable_roles_at_hq, :grantableRolesAtHQ
634
+ alias_method :roles_at_base, :rolesAtBase
635
+ alias_method :grantable_roles_at_base, :grantableRolesAtBase
636
+ alias_method :roles_at_other, :rolesAtOther
637
+ alias_method :grantable_roles_at_other, :grantableRolesAtOther
638
+
639
+ def initialize(elem) #:nodoc:
640
+ @id = elem['characterID'].to_i
641
+ @name = elem['name']
642
+
643
+ @roles = []
644
+ @grantableRoles = []
645
+ @rolesAtHQ = []
646
+ @grantableRolesAtHQ = []
647
+ @rolesAtBase = []
648
+ @grantableRolesAtBase = []
649
+ @rolesAtOther = []
650
+ @grantableRolesAtOther = []
651
+ @titles = []
652
+ end
653
+ end
654
+
609
655
  # Holds the result of the Reve::API#conqurable_stations call.
610
656
  # Attributes
611
657
  # * id ( Fixnum ) - ID of the ConqurableStation
@@ -1337,5 +1383,62 @@ module Reve #:nodoc:
1337
1383
  # See WalletTransaction
1338
1384
  class PersonalWalletTransaction < WalletTransaction
1339
1385
  end
1386
+
1387
+ # Represents a MailingList for
1388
+ # Reve::API#personal_mailing_lists
1389
+ # Attributes
1390
+ # * id ( Fixnum ) - ID of the MailingList (use this in the Reve::API#mail_messages call)
1391
+ # * name ( String ) - Name of the MailingList
1392
+ class MailingList
1393
+ attr_reader :id, :name
1394
+ def initialize(elem) #:nodoc:
1395
+ @id = elem['listID'].to_i
1396
+ @name = elem['displayName']
1397
+ end
1398
+ end
1399
+
1400
+ # Represents a MailMessage for
1401
+ # Reve::API#personal_mail_messages
1402
+ # Attributes
1403
+ # * id ( Fixnum ) - The unique message ID number.
1404
+ # * sender_id ( Fixnum ) - The character ID of the message originator. (use Reve::API#character_name to get their names)
1405
+ # * send_date ( Time ) - The date the message was sent.
1406
+ # * title ( String ) - The title of the message
1407
+ # * to_corp_or_alliance_id ( Fixnum ) - The ID of a corporation/alliance that the message was sent to.
1408
+ # * to_character_ids ( [Fixnum] ) - Array of character IDs of the characters that received the message.
1409
+ # * to_list_ids ( [Fixnum] ) - Array of mailing lists that the mail was sent to. (use Reve::API#personal_mailing_lists to get their names)
1410
+ # * read ( Boolean ) - Whether the mail/notification has been read in the EVE client. This does not change when you get it through the API.
1411
+ class MailMessage
1412
+ attr_reader :id, :name, :sender_id, :send_date, :title, :to_corp_or_alliance_id, :to_character_ids, :to_list_ids, :read
1413
+ def initialize(elem) #:nodoc:
1414
+ @id = elem['messageID'].to_i
1415
+ @sender_id = elem['senderID'].to_i
1416
+ @send_date = elem['sentDate'].to_time
1417
+ @title = elem['title']
1418
+ @to_corp_or_alliance_id = elem['toCorpOrAllianceID'] == '' ? nil : elem['toCorpOrAllianceID'].to_i
1419
+ @to_character_ids = elem['toCharacterIDs'] == '' ? nil : elem['toCharacterIDs'].split(',').collect {|id| id.to_i }
1420
+ @to_list_ids = elem['toListIDs'] == '' ? nil : elem['toListIDs'].split(',').collect {|id| id.to_i }
1421
+ @read = elem['read'] == '1'
1422
+ end
1423
+ end
1424
+
1425
+ # Represents a Notification for
1426
+ # Reve::API#personal_notifications
1427
+ # Attributes
1428
+ # * id ( Fixnum ) - The unique notification ID number.
1429
+ # * notification_type_id ( Fixnum ) - The notification type indicates what has happened but not who performed the action in question nor upon whom the action was performed. See http://wiki.eve-id.net/APIv2_Char_Notifications_XML for a list of ids
1430
+ # * sender_id ( Fixnum ) - TThe ID of the entity that sent the notification.
1431
+ # * send_date ( Time ) - The ID of the entity that sent the notification.
1432
+ # * read ( Boolean ) - Whether the notification has been read in the EVE client. This does not change when you get it through the API.
1433
+ class Notification
1434
+ attr_reader :id, :name, :notification_type_id, :sender_id, :send_date, :read
1435
+ def initialize(elem) #:nodoc:
1436
+ @id = elem['notificationID'].to_i
1437
+ @notification_type_id = elem['typeID'].to_i
1438
+ @sender_id = elem['senderID'].to_i
1439
+ @send_date = elem['sentDate'].to_time
1440
+ @read = elem['read'] == '1'
1441
+ end
1442
+ end
1340
1443
  end
1341
1444
  end
@@ -1,4 +1,4 @@
1
- require 'parsedate'
1
+ require 'time'
2
2
 
3
3
  module Reve #:nodoc:
4
4
  # All of these are shamelessly nicked from Ruby on Rails.
@@ -78,12 +78,11 @@ module Reve #:nodoc:
78
78
  cattr_writer(*syms)
79
79
  end
80
80
  end
81
-
82
81
  module String
83
82
  def to_time(form = :utc)
84
83
  begin
85
- ::Time.send(form, *ParseDate.parsedate(self))
86
- rescue Exception
84
+ return Time.parse(self + ' +00:00')
85
+ rescue Exception => e
87
86
  self
88
87
  end
89
88
  end
@@ -105,4 +104,16 @@ end
105
104
 
106
105
  class NilClass #:nodoc:
107
106
  include Reve::Extensions::NilClass
108
- end
107
+ end
108
+
109
+ class Object
110
+ def rsend(*args, &block)
111
+ obj = self
112
+ args.each do |a|
113
+ b = (a.is_a?(Array) && a.last.is_a?(Proc) ? a.pop : block)
114
+ obj = obj.__send__(*a, &b)
115
+ end
116
+ obj
117
+ end
118
+ alias_method :__rsend__, :rsend
119
+ end
data/lib/reve.rb CHANGED
@@ -63,6 +63,7 @@ module Reve
63
63
  @@starbasedetail_url = 'http://api.eve-online.com/corp/StarbaseDetail.xml.aspx'
64
64
  @@conqurable_outposts_url = 'http://api.eve-online.com/eve/ConquerableStationList.xml.aspx'
65
65
  @@corporation_sheet_url = 'http://api.eve-online.com/corp/CorporationSheet.xml.aspx'
66
+ @@corporation_member_security_url = 'http://api.eve-online.com/corp/MemberSecurity.xml.aspx'
66
67
  @@errors_url = 'http://api.eve-online.com/eve/ErrorList.xml.aspx'
67
68
  @@map_jumps_url = 'http://api.eve-online.com/map/Jumps.xml.aspx'
68
69
  @@map_kills_url = 'http://api.eve-online.com/map/Kills.xml.aspx'
@@ -86,7 +87,10 @@ module Reve
86
87
  @@corporate_medals_url = 'http://api.eve-online.com/corp/Medals.xml.aspx'
87
88
  @@corp_member_medals_url = 'http://api.eve-online.com/corp/MemberMedals.xml.aspx'
88
89
  @@server_status_url = 'http://api.eve-online.com/Server/ServerStatus.xml.aspx'
89
-
90
+ @@personal_notification_url = 'http://api.eve-online.com/char/Notifications.xml.aspx'
91
+ @@personal_mailing_lists_url = 'http://api.eve-online.com/char/mailinglists.xml.aspx'
92
+ @@personal_mail_messages_url = 'http://api.eve-online.com/char/MailMessages.xml.aspx'
93
+
90
94
  cattr_accessor :character_sheet_url, :training_skill_url, :characters_url, :personal_wallet_journal_url,
91
95
  :corporate_wallet_journal_url, :personal_wallet_trans_url, :corporate_wallet_trans_url,
92
96
  :personal_wallet_balance_url, :corporate_wallet_balance_url, :member_tracking_url,
@@ -98,7 +102,8 @@ module Reve
98
102
  :personal_faction_war_stats_url, :corporate_faction_war_stats_url,
99
103
  :general_faction_war_stats_url, :top_faction_war_stats_url, :faction_war_occupancy_url,
100
104
  :certificate_tree_url, :character_medals_url, :corporate_medals_url,
101
- :corp_member_medals_url, :server_status_url, :skill_queue_url
105
+ :corp_member_medals_url, :server_status_url, :skill_queue_url, :corporation_member_security_url,
106
+ :personal_notification_url, :personal_mailing_lists_url, :personal_mail_messages_url
102
107
 
103
108
 
104
109
  attr_accessor :key, :userid, :charid
@@ -750,6 +755,27 @@ module Reve
750
755
  Reve::Classes::CorporationSheet.new res, divisions, wallet_divisions, corporate_logo
751
756
  end
752
757
 
758
+ def corporate_member_security(opts = { :characterid => nil })
759
+ args = postfields(opts)
760
+ h = compute_hash(args.merge(:url => @@corporation_member_security_url))
761
+ return h if h
762
+ xml = process_query(nil,opts[:url] || @@corporation_member_security_url,true,args)
763
+
764
+ cmc = Reve::Classes::CorporationMemberSecurity.new
765
+ xml.search("/eveapi/result/member").each do |member|
766
+ mem = Reve::Classes::CorporationMember.new(member)
767
+ cmc.members << mem
768
+ [:roles, :grantableRoles, :rolesAtHQ, :grantableRolesAtHQ, :rolesAtBase, :grantableRolesAtBase, :rolesAtOther, :grantableRolesAtOther].each do |rowset|
769
+ member.search("/rowset[@name=#{rowset.to_s}]/row").each do |row|
770
+ mem.rsend(["#{rowset}"], [:push,Reve::Classes::CorporateRole.new(row)])
771
+ end
772
+ end
773
+ member.search("/rowset[@name=titles]/row").each do |row|
774
+ mem.rsend([:titles], [:push,Reve::Classes::CorporateTitle.new(row)])
775
+ end
776
+ end
777
+ cmc
778
+ end
753
779
 
754
780
  # Returns a Reve::Classes::CertificateTree object that contains the
755
781
  # Certificate tree structure. See the rdoc for Reve::Classes::CertificateTree
@@ -823,10 +849,7 @@ module Reve
823
849
  end
824
850
  [ :corporationRolesAtHQ, :corporationRoles, :corporationRolesAtBase, :corporationRolesAtOther ].each do |role_kind|
825
851
  xml.search("rowset[@name=#{role_kind.to_s}]/row").each do |elem|
826
- arry = []
827
- role = Reve::Classes::CorporateRole.new(elem)
828
- arry << role
829
- cs.send("#{role_kind}=".to_sym,arry)
852
+ cs.rsend(["#{role_kind}"], [:push,Reve::Classes::CorporateRole.new(elem)])
830
853
  end
831
854
  end
832
855
 
@@ -836,7 +859,42 @@ module Reve
836
859
 
837
860
  cs
838
861
  end
839
-
862
+
863
+ # Gets the characters notifications. Returns a list of
864
+ # Reve::Classes::Notification
865
+ # Expects:
866
+ # * characterid ( Integer | String ) - Get the Notifications for this Character
867
+ # See also: Reve::Classes::Notification
868
+ def personal_notifications(opts = { :characterid => nil })
869
+ args = postfields(opts)
870
+ h = compute_hash(args.merge(:url => @@personal_notification_url))
871
+ return h if h
872
+ process_query(Reve::Classes::Notification, opts[:url] || @@personal_notification_url,false,args)
873
+ end
874
+
875
+ # Gets the characters notifications. Returns a list of
876
+ # Reve::Classes::MailingList
877
+ # Expects:
878
+ # * characterid ( Integer | String ) - Get the MailingLists for this Character
879
+ # See also: Reve::Classes::MailingList
880
+ def personal_mailing_lists(opts = { :characterid => nil })
881
+ args = postfields(opts)
882
+ h = compute_hash(args.merge(:url => @@personal_mailing_lists_url))
883
+ return h if h
884
+ process_query(Reve::Classes::MailingList, opts[:url] || @@personal_mailing_lists_url,false,args)
885
+ end
886
+
887
+ # Gets the characters notifications. Returns a list of
888
+ # Reve::Classes::MailMessage
889
+ # Expects:
890
+ # * characterid ( Integer | String ) - Get the MailMessages for this Character
891
+ # See also: Reve::Classes::MailMessage
892
+ def personal_mail_messages(opts = { :characterid => nil })
893
+ args = postfields(opts)
894
+ h = compute_hash(args.merge(:url => @@personal_mail_messages_url))
895
+ return h if h
896
+ process_query(Reve::Classes::MailMessage, opts[:url] || @@personal_mail_messages_url,false,args)
897
+ end
840
898
 
841
899
  protected
842
900
  # Sets up the post fields for Net::HTTP::Get hash for process_query method.
data/test/test_reve.rb CHANGED
@@ -1,5 +1,6 @@
1
+ # Tests designed to run with autotest.
1
2
  require 'test/unit'
2
- require '../lib/reve'
3
+ require 'reve'
3
4
  require 'fileutils' # for saving downloaded XML
4
5
 
5
6
  XML_BASE = File.join(File.dirname(__FILE__),'xml/')
@@ -937,6 +938,22 @@ class TestReve < Test::Unit::TestCase
937
938
  end
938
939
  end
939
940
 
941
+ def test_corporate_member_security
942
+ Reve::API.corporation_member_security_url = XML_BASE + 'corp_membersecurity.xml'
943
+ members = nil
944
+ assert_nothing_raised do
945
+ members = @api.corporate_member_security
946
+ end
947
+ assert_equal 2, members.members.size
948
+ first = members.members.first
949
+ assert_equal "Test Pilot", first.name
950
+ assert_equal 194329244, first.id
951
+ assert_equal 0, first.grantableRoles.size
952
+ assert_equal 1, first.titles.size
953
+ last = members.members.last
954
+ assert_equal 5, last.titles.size
955
+ end
956
+
940
957
  def test_server_status
941
958
  Reve::API.server_status_url = XML_BASE + 'server_status.xml'
942
959
  status = nil
@@ -1054,6 +1071,63 @@ class TestReve < Test::Unit::TestCase
1054
1071
 
1055
1072
 
1056
1073
 
1074
+ end
1075
+
1076
+ def test_personal_notifications
1077
+ Reve::API.personal_notification_url = XML_BASE + 'notifications.xml'
1078
+ notifications = nil
1079
+ assert_nothing_raised do
1080
+ notifications = @api.personal_notifications(:characterid => 1)
1081
+ end
1082
+ assert_equal 2, notifications.length
1083
+ assert_equal Reve::Classes::Notification, notifications.first.class
1084
+ assert_equal 200076684, notifications.first.sender_id
1085
+ assert_equal 16, notifications.first.notification_type_id
1086
+ assert_equal Time.parse('2009-12-02 10:54:00 UTC'), notifications.first.send_date
1087
+ end
1088
+
1089
+ def test_personal_mailing_lists
1090
+ Reve::API.personal_mailing_lists_url = XML_BASE + 'mailing_lists.xml'
1091
+ lists = nil
1092
+ assert_nothing_raised do
1093
+ lists = @api.personal_mailing_lists(:characterid => 1)
1094
+ end
1095
+ assert_equal 3, lists.length
1096
+ assert_equal Reve::Classes::MailingList, lists.first.class
1097
+ assert_equal 128250439, lists.first.id
1098
+ assert_equal 'EVETycoonMail', lists.first.name
1099
+ assert_equal 141157801, lists.last.id
1100
+ end
1101
+
1102
+ def test_personal_mail_messages
1103
+ Reve::API.personal_mail_messages_url = XML_BASE + 'mail_messages.xml'
1104
+ mails = nil
1105
+ assert_nothing_raised do
1106
+ mails = @api.personal_mail_messages(:characterid => 1)
1107
+ end
1108
+ assert_equal 5, mails.length
1109
+ assert_equal Reve::Classes::MailMessage, mails.first.class
1110
+ # Corp Mail
1111
+ assert_equal 1, mails.first.sender_id
1112
+ assert_equal Time.parse('2009-12-01 01:04:00 UTC'), mails.first.send_date
1113
+ assert_equal "Corp mail", mails.first.title
1114
+ assert_equal 4, mails.first.to_corp_or_alliance_id
1115
+ assert_equal nil, mails.first.to_character_ids
1116
+ assert_equal nil, mails.first.to_list_ids
1117
+ assert_equal true, mails.first.read
1118
+ # Personal Mail
1119
+ assert_equal nil, mails[1].to_corp_or_alliance_id
1120
+ assert_equal [5], mails[1].to_character_ids
1121
+ assert_equal nil, mails[1].to_list_ids
1122
+ # list Mail
1123
+ assert_equal nil, mails[2].to_corp_or_alliance_id
1124
+ assert_equal nil, mails[2].to_character_ids
1125
+ assert_equal [128250439], mails[2].to_list_ids
1126
+ assert_equal false, mails[2].read
1127
+ # multi personal
1128
+ assert_equal [5,6,7], mails[3].to_character_ids
1129
+ # multi list
1130
+ assert_equal [128250439,141157801], mails[4].to_list_ids
1057
1131
  end
1058
1132
 
1059
1133
  # Can we reassign a URL?
@@ -1147,7 +1221,7 @@ class TestReve < Test::Unit::TestCase
1147
1221
  kills = @api.send(meth,{:url =>url})
1148
1222
  end
1149
1223
  assert_equal 25, kills.size
1150
- assert_equal 25, kills.collect { |k| k.victim.name }.nitems # i should have 10 good victim names to match with 10 kills
1224
+ assert_equal 25, kills.collect { |k| k.victim.name }.compact.length # i should have 10 good victim names to match with 10 kills
1151
1225
 
1152
1226
  # Process the Kills here to get the number of "Contained Losses" - KillLoss that are contained within another
1153
1227
  # KillLoss (like a Giant Secure Container); there should only be one contained loss and should be
@@ -1160,7 +1234,7 @@ class TestReve < Test::Unit::TestCase
1160
1234
  attacker_names = kills.collect { |k| k.attackers.collect { |a| a.name } }.flatten
1161
1235
  assert_equal 98, attacker_names.size # total of 25 attackers (24 players + 1 NPC)
1162
1236
  assert_equal 2, attacker_names.grep(nil).size # npc exists once
1163
- assert_equal 96, attacker_names.nitems # 24 player attackers
1237
+ assert_equal 96, attacker_names.compact.length # 24 player attackers
1164
1238
 
1165
1239
  assert_kind_of Integer, kills.first.victim.faction_id
1166
1240
  assert_kind_of String, kills.first.victim.faction_name
@@ -0,0 +1,15 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <eveapi version="2">
3
+ <currentTime>2009-12-02 00:46:10</currentTime>
4
+ <result>
5
+ <rowset name="mailMessages" key="messageID" columns="messageID,senderID,sentDate,title,toCorpOrAllianceID,toCharacterIDs,toListIDs,read">
6
+ <row messageID="290285276" senderID="1" sentDate="2009-12-01 01:04:00" title="Corp mail" toCorpOrAllianceID="4" toCharacterIDs="" toListIDs="" read="1" />
7
+ <row messageID="290285275" senderID="2" sentDate="2009-12-01 01:04:00" title="Personal mail" toCorpOrAllianceID="" toCharacterIDs="5" toListIDs="" read="1" />
8
+ <row messageID="290285274" senderID="2" sentDate="2009-12-01 01:04:00" title="Message to mailing list" toCorpOrAllianceID="" toCharacterIDs="" toListIDs="128250439" read="0" />
9
+ <row messageID="290285278" senderID="2" sentDate="2009-12-01 01:04:00" title="Multi Personal mail" toCorpOrAllianceID="" toCharacterIDs="5,6,7" toListIDs="" read="1" />
10
+ <row messageID="290285279" senderID="2" sentDate="2009-12-01 01:04:00" title="Multi Message to mailing list" toCorpOrAllianceID="" toCharacterIDs="" toListIDs="128250439,141157801" read="0" />
11
+ </rowset>
12
+ </result>
13
+ <cachedUntil>2009-12-02 01:16:10</cachedUntil>
14
+ </eveapi>
15
+
@@ -0,0 +1,12 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <eveapi version="2">
3
+ <currentTime>2009-12-02 06:29:32</currentTime>
4
+ <result>
5
+ <rowset name="mailingLists" key="listID" columns="listID,displayName">
6
+ <row listID="128250439" displayName="EVETycoonMail" />
7
+ <row listID="128783669" displayName="EveMarketScanner" />
8
+ <row listID="141157801" displayName="Exploration Wormholes" />
9
+ </rowset>
10
+ </result>
11
+ <cachedUntil>2009-12-02 12:29:32</cachedUntil>
12
+ </eveapi>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <eveapi version="2">
3
+ <currentTime>2009-12-03 20:34:09</currentTime>
4
+ <result>
5
+ <rowset name="notifications" key="notificationID" columns="notificationID,typeID,senderID,sentDate,read">
6
+ <row notificationID="290369614" typeID="16" senderID="200076684" sentDate="2009-12-02 10:54:00" read="1"/>
7
+ <row notificationID="289645395" typeID="1" senderID="1000064" sentDate="2009-11-26 01:34:00" read="0"/>
8
+ </rowset>
9
+ </result>
10
+ <cachedUntil>2009-12-03 21:04:09</cachedUntil>
11
+ </eveapi>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dsander-reve
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.116
4
+ version: 0.0.117
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lisa Seelye
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-06-11 00:00:00 -07:00
12
+ date: 2009-12-04 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -41,8 +41,10 @@ files:
41
41
  - reve.rb
42
42
  - tester.rb
43
43
  - ChangeLog
44
- has_rdoc: false
45
- homepage: http://revetrac.crudvision.com
44
+ has_rdoc: true
45
+ homepage: http://github.com/lisa/reve
46
+ licenses: []
47
+
46
48
  post_install_message:
47
49
  rdoc_options:
48
50
  - --charset=UTF-8
@@ -63,125 +65,128 @@ required_rubygems_version: !ruby/object:Gem::Requirement
63
65
  requirements: []
64
66
 
65
67
  rubyforge_project: reve
66
- rubygems_version: 1.2.0
68
+ rubygems_version: 1.3.5
67
69
  signing_key:
68
70
  specification_version: 3
69
71
  summary: Reve is a Ruby library to interface with the Eve Online API
70
72
  test_files:
71
73
  - test/test_reve.rb
72
- - test/xml/corp_membersecurity.xml
73
- - test/xml/corporate_wallet_transactions.xml
74
- - test/xml/starbase_fuel.xml
75
- - test/xml/corporate_assets_list.xml
76
- - test/xml/characters.xml
77
- - test/xml/mapjumps.xml
78
- - test/xml/wallet_balance.xml
79
- - test/xml/mapkills.xml
80
- - test/xml/server_status.xml
81
- - test/xml/skill_in_training-none.xml
82
- - test/xml/character_sheet.xml
83
- - test/xml/characterid.xml
84
- - test/xml/sovereignty.xml
85
- - test/xml/charactername.xml
86
- - test/xml/corporate_wallet_journal.xml
87
- - test/xml/assets.xml
88
- - test/xml/corp_member_medals.xml
89
- - test/xml/market_transactions.xml
90
- - test/xml/eve_facwartopstats.xml
91
- - test/xml/corporate_market_orders.xml
74
+ - test/xml/map_facwarsystems.xml
75
+ - test/xml/skill_queue.xml
76
+ - test/xml/errors/error_213.xml
77
+ - test/xml/errors/error_521.xml
78
+ - test/xml/errors/error_203.xml
79
+ - test/xml/errors/error_507.xml
80
+ - test/xml/errors/error_112.xml
81
+ - test/xml/errors/error_202.xml
82
+ - test/xml/errors/error_210.xml
92
83
  - test/xml/errors/error_100.xml
93
- - test/xml/errors/error_101.xml
94
- - test/xml/errors/error_102.xml
95
- - test/xml/errors/error_103.xml
96
- - test/xml/errors/error_104.xml
97
- - test/xml/errors/error_105.xml
98
- - test/xml/errors/error_106.xml
99
- - test/xml/errors/error_107.xml
100
- - test/xml/errors/error_108.xml
101
- - test/xml/errors/error_109.xml
102
- - test/xml/errors/error_110.xml
84
+ - test/xml/errors/error_209.xml
85
+ - test/xml/errors/error_518.xml
103
86
  - test/xml/errors/error_111.xml
104
- - test/xml/errors/error_112.xml
105
- - test/xml/errors/error_113.xml
106
- - test/xml/errors/error_114.xml
107
- - test/xml/errors/error_115.xml
108
- - test/xml/errors/error_116.xml
109
- - test/xml/errors/error_117.xml
110
- - test/xml/errors/error_118.xml
111
- - test/xml/errors/error_119.xml
87
+ - test/xml/errors/error_520.xml
88
+ - test/xml/errors/error_104.xml
112
89
  - test/xml/errors/error_120.xml
90
+ - test/xml/errors/error_514.xml
91
+ - test/xml/errors/error_517.xml
92
+ - test/xml/errors/error_117.xml
93
+ - test/xml/errors/error_516.xml
94
+ - test/xml/errors/error_204.xml
95
+ - test/xml/errors/error_509.xml
96
+ - test/xml/errors/error_523.xml
113
97
  - test/xml/errors/error_121.xml
114
- - test/xml/errors/error_122.xml
115
- - test/xml/errors/error_123.xml
98
+ - test/xml/errors/error_515.xml
99
+ - test/xml/errors/error_510.xml
100
+ - test/xml/errors/error_999.xml
101
+ - test/xml/errors/error_103.xml
102
+ - test/xml/errors/error_525.xml
103
+ - test/xml/errors/error_106.xml
104
+ - test/xml/errors/error_205.xml
105
+ - test/xml/errors/error_212.xml
116
106
  - test/xml/errors/error_124.xml
107
+ - test/xml/errors/error_512.xml
108
+ - test/xml/errors/error_122.xml
109
+ - test/xml/errors/error_119.xml
117
110
  - test/xml/errors/error_125.xml
111
+ - test/xml/errors/error_500.xml
112
+ - test/xml/errors/error_902.xml
118
113
  - test/xml/errors/error_200.xml
119
- - test/xml/errors/error_201.xml
120
- - test/xml/errors/error_202.xml
121
- - test/xml/errors/error_203.xml
122
- - test/xml/errors/error_204.xml
123
- - test/xml/errors/error_205.xml
124
- - test/xml/errors/error_206.xml
125
114
  - test/xml/errors/error_207.xml
126
- - test/xml/errors/error_208.xml
127
- - test/xml/errors/error_209.xml
128
- - test/xml/errors/error_210.xml
129
- - test/xml/errors/error_211.xml
130
- - test/xml/errors/error_212.xml
131
- - test/xml/errors/error_900.xml
132
- - test/xml/errors/error_213.xml
133
- - test/xml/errors/error_901.xml
115
+ - test/xml/errors/error_118.xml
116
+ - test/xml/errors/error_101.xml
134
117
  - test/xml/errors/error_214.xml
135
- - test/xml/errors/error_902.xml
118
+ - test/xml/errors/error_102.xml
136
119
  - test/xml/errors/error_903.xml
137
- - test/xml/errors/error_999.xml
138
- - test/xml/errors/error_500.xml
139
- - test/xml/errors/error_501.xml
140
- - test/xml/errors/error_502.xml
141
- - test/xml/errors/error_503.xml
142
- - test/xml/errors/error_504.xml
120
+ - test/xml/errors/error_511.xml
121
+ - test/xml/errors/error_105.xml
143
122
  - test/xml/errors/error_505.xml
144
- - test/xml/errors/error_506.xml
145
- - test/xml/errors/error_507.xml
146
123
  - test/xml/errors/error_508.xml
147
- - test/xml/errors/error_509.xml
148
- - test/xml/errors/error_510.xml
149
- - test/xml/errors/error_511.xml
150
- - test/xml/errors/error_512.xml
124
+ - test/xml/errors/error_506.xml
125
+ - test/xml/errors/error_114.xml
126
+ - test/xml/errors/error_108.xml
127
+ - test/xml/errors/error_208.xml
151
128
  - test/xml/errors/error_513.xml
152
- - test/xml/errors/error_514.xml
153
- - test/xml/errors/error_515.xml
154
- - test/xml/errors/error_516.xml
155
- - test/xml/errors/error_517.xml
156
- - test/xml/errors/error_518.xml
157
- - test/xml/errors/error_519.xml
158
- - test/xml/errors/error_520.xml
159
- - test/xml/errors/error_521.xml
160
- - test/xml/errors/error_522.xml
161
- - test/xml/errors/error_523.xml
129
+ - test/xml/errors/error_123.xml
130
+ - test/xml/errors/error_501.xml
162
131
  - test/xml/errors/error_524.xml
163
- - test/xml/errors/error_525.xml
164
- - test/xml/corporate_wallet_balance.xml
165
- - test/xml/industryjobs.xml
166
- - test/xml/member_tracking.xml
132
+ - test/xml/errors/error_502.xml
133
+ - test/xml/errors/error_503.xml
134
+ - test/xml/errors/error_900.xml
135
+ - test/xml/errors/error_110.xml
136
+ - test/xml/errors/error_109.xml
137
+ - test/xml/errors/error_113.xml
138
+ - test/xml/errors/error_211.xml
139
+ - test/xml/errors/error_522.xml
140
+ - test/xml/errors/error_201.xml
141
+ - test/xml/errors/error_206.xml
142
+ - test/xml/errors/error_115.xml
143
+ - test/xml/errors/error_519.xml
144
+ - test/xml/errors/error_107.xml
145
+ - test/xml/errors/error_116.xml
146
+ - test/xml/errors/error_504.xml
147
+ - test/xml/errors/error_901.xml
148
+ - test/xml/corporate_wallet_transactions.xml
149
+ - test/xml/wallet_journal.xml
167
150
  - test/xml/certificate_tree.xml
151
+ - test/xml/corp_medals.xml
152
+ - test/xml/industryjobs.xml
153
+ - test/xml/characterid.xml
154
+ - test/xml/alliances.xml
155
+ - test/xml/corporate_wallet_balance.xml
156
+ - test/xml/mailing_lists.xml
157
+ - test/xml/mapjumps.xml
158
+ - test/xml/skill_in_training-none.xml
159
+ - test/xml/corp_facwarstats.xml
160
+ - test/xml/starbases.xml
161
+ - test/xml/errors.xml
168
162
  - test/xml/marketorders.xml
169
- - test/xml/eve_facwarstats.xml
163
+ - test/xml/wallet_balance.xml
164
+ - test/xml/characters.xml
170
165
  - test/xml/nonmember_corpsheet.xml
171
- - test/xml/errors.xml
172
- - test/xml/skilltree.xml
173
- - test/xml/map_facwarsystems.xml
174
- - test/xml/corporation_sheet.xml
175
- - test/xml/alliances.xml
176
- - test/xml/char_facwarstats.xml
166
+ - test/xml/member_tracking.xml
177
167
  - test/xml/char_medals.xml
178
- - test/xml/starbases.xml
179
- - test/xml/corp_facwarstats.xml
168
+ - test/xml/sovereignty.xml
180
169
  - test/xml/skill_in_training-amarr-titan.xml
170
+ - test/xml/mapkills.xml
171
+ - test/xml/corp_member_medals.xml
172
+ - test/xml/skilltree.xml
173
+ - test/xml/eve_facwartopstats.xml
174
+ - test/xml/server_status.xml
175
+ - test/xml/char_facwarstats.xml
176
+ - test/xml/charactername.xml
177
+ - test/xml/notifications.xml
178
+ - test/xml/kills.xml
179
+ - test/xml/market_transactions.xml
180
+ - test/xml/eve_facwarstats.xml
181
+ - test/xml/corporate_wallet_journal.xml
182
+ - test/xml/assets.xml
183
+ - test/xml/corporation_sheet.xml
184
+ - test/xml/mail_messages.xml
181
185
  - test/xml/reftypes.xml
182
- - test/xml/corp_medals.xml
186
+ - test/xml/corporate_assets_list.xml
187
+ - test/xml/character_sheet.xml
183
188
  - test/xml/badxml.xml
184
- - test/xml/skill_queue.xml
185
- - test/xml/wallet_journal.xml
186
- - test/xml/kills.xml
189
+ - test/xml/starbase_fuel.xml
190
+ - test/xml/corp_membersecurity.xml
187
191
  - test/xml/conqurable_stations.xml
192
+ - test/xml/corporate_market_orders.xml