dsander-reve 0.0.132 → 0.0.133.pre
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 +3 -42
- data/lib/reve/classes.rb +83 -3
- data/lib/reve/exceptions.rb +5 -0
- data/lib/reve.rb +44 -9
- data/test/test_reve.rb +83 -5
- metadata +4 -3
data/Rakefile
CHANGED
@@ -1,13 +1,7 @@
|
|
1
|
-
STATS_DIRECTORIES = [
|
2
|
-
%w(Libraries lib/),
|
3
|
-
%w(tests test/)
|
4
|
-
]
|
5
|
-
|
6
1
|
require 'rake'
|
7
2
|
require 'rake/testtask'
|
8
3
|
require 'rake/rdoctask'
|
9
4
|
|
10
|
-
|
11
5
|
task :default => :redoc
|
12
6
|
|
13
7
|
desc "Generate Docs"
|
@@ -21,40 +15,7 @@ Rake::RDocTask.new("doc") { |rdoc|
|
|
21
15
|
rdoc.rdoc_files.include('test/**/*')
|
22
16
|
}
|
23
17
|
|
24
|
-
|
25
|
-
task :stats do
|
26
|
-
require 'code_statistics'
|
27
|
-
CodeStatistics.new(*STATS_DIRECTORIES).to_s
|
28
|
-
end
|
29
|
-
|
30
|
-
if File.exists?('.svn')
|
31
|
-
require 'rubygems'
|
32
|
-
require 'rake/packagetask'
|
33
|
-
require 'rake/gempackagetask'
|
34
|
-
|
35
|
-
REVE_RELEASE=`svn up &>/dev/null && svn info|grep ^Revision| cut -d ' ' -f 2`
|
36
|
-
|
37
|
-
spec = Gem::Specification.new do |s|
|
38
|
-
s.name = "reve"
|
39
|
-
s.rubyforge_project = "reve"
|
40
|
-
s.version = "0.0.#{REVE_RELEASE.chomp || '1'}"
|
41
|
-
s.author = "Lisa Seelye"
|
42
|
-
s.email = "lisa@thedoh.com"
|
43
|
-
s.homepage = "http://revetrac.crudvision.com"
|
44
|
-
s.platform = Gem::Platform::RUBY
|
45
|
-
s.summary = "Reve is a Ruby library to interface with the Eve Online API"
|
46
|
-
s.files = FileList["Rakefile","LICENSE", "lib/**/*.rb","reve.rb","tester.rb","init.rb"].to_a
|
47
|
-
s.require_path = "lib"
|
48
|
-
s.test_files = FileList["test/test_reve.rb","test/xml/**/*.xml"].to_a
|
49
|
-
s.has_rdoc = true
|
50
|
-
s.extra_rdoc_files = ["ChangeLog"]
|
51
|
-
s.add_dependency("hpricot",">= 0.6")
|
52
|
-
end rescue nil
|
53
|
-
|
54
|
-
Rake::GemPackageTask.new(spec) do |pkg|
|
55
|
-
pkg.need_tar = true
|
56
|
-
end rescue nil
|
57
|
-
elsif File.exists?('.git')
|
18
|
+
if File.exists?('.git')
|
58
19
|
begin
|
59
20
|
require 'jeweler'
|
60
21
|
Jeweler::Tasks.new do |s|
|
@@ -62,10 +23,10 @@ elsif File.exists?('.git')
|
|
62
23
|
s.rubyforge_project = "reve"
|
63
24
|
s.author = "Lisa Seelye"
|
64
25
|
s.email = "lisa@thedoh.com"
|
65
|
-
s.homepage = "http://
|
26
|
+
s.homepage = "http://github.com/lisa/reve"
|
66
27
|
s.platform = Gem::Platform::RUBY
|
67
28
|
s.summary = "Reve is a Ruby library to interface with the Eve Online API"
|
68
|
-
s.files = FileList["Rakefile","LICENSE", "lib/**/*.rb","reve.rb","tester.rb","init.rb"].to_a
|
29
|
+
s.files = FileList["Rakefile","VERSION","LICENSE", "lib/**/*.rb","reve.rb","tester.rb","init.rb"].to_a
|
69
30
|
s.require_path = "lib"
|
70
31
|
s.test_files = FileList["test/test_reve.rb","test/xml/**/*.xml"].to_a
|
71
32
|
s.has_rdoc = true
|
data/lib/reve/classes.rb
CHANGED
@@ -453,7 +453,8 @@ module Reve #:nodoc:
|
|
453
453
|
@flag = elem['flag'].to_i
|
454
454
|
@singleton = elem['singleton'] == "1"
|
455
455
|
@assets = []
|
456
|
-
|
456
|
+
# This ::Digest::SHA1 is a bit of custom code for Eve Metrics that will
|
457
|
+
# probably find its way to all classes since it could prove handy.
|
457
458
|
@xml_hash = ::Digest::SHA1.hexdigest elem.to_s.gsub(/\n|\r|\s/,'')
|
458
459
|
end
|
459
460
|
end
|
@@ -473,7 +474,8 @@ module Reve #:nodoc:
|
|
473
474
|
@quantity = elem['quantity'].to_i
|
474
475
|
@flag = elem['flag'].to_i
|
475
476
|
@singleton = elem['singleton'].to_i
|
476
|
-
|
477
|
+
# This ::Digest::SHA1 is a bit of custom code for Eve Metrics that will
|
478
|
+
# probably find its way to all classes since it could prove handy.
|
477
479
|
@xml_hash = ::Digest::SHA1.hexdigest elem.to_s.gsub(/\n|\r|\s/,'')
|
478
480
|
end
|
479
481
|
end
|
@@ -708,7 +710,6 @@ module Reve #:nodoc:
|
|
708
710
|
@id = elem['stationID'].to_i
|
709
711
|
@name = elem['stationName']
|
710
712
|
@type_id = elem['stationTypeID'].to_i
|
711
|
-
@system_id = elem['solarSystemID'].to_i
|
712
713
|
@corporation_id = elem['corporationID'].to_i
|
713
714
|
@corporation_name = elem['corporationName']
|
714
715
|
@system_id = elem['solarSystemID'].to_i
|
@@ -1520,5 +1521,84 @@ module Reve #:nodoc:
|
|
1520
1521
|
@read = elem['read'] == '1'
|
1521
1522
|
end
|
1522
1523
|
end
|
1524
|
+
|
1525
|
+
# Represents a AccountStatus for
|
1526
|
+
# Reve::API#account_status
|
1527
|
+
# Attributes
|
1528
|
+
# * user_id ( Fixnum ) - The account's userID
|
1529
|
+
# * paid_until ( Time ) - DateTime until when the account is still active.
|
1530
|
+
# * created_at ( Time ) - DateTime when the account was created.
|
1531
|
+
# * logon_count ( Fixnum ) - The amount of times the User logged in.
|
1532
|
+
# * logon_minutes ( Fixnum ) - The amount of minutes the user was logged in.
|
1533
|
+
# GTC buy offers not yet inplemented
|
1534
|
+
class AccountStatus
|
1535
|
+
attr_reader :user_id, :paid_until, :created_at, :logon_count, :logon_minutes
|
1536
|
+
def initialize(elem) #:nodoc:
|
1537
|
+
@user_id = (elem/'userID').inner_html.to_i
|
1538
|
+
@paid_until = Time.parse((elem/'paidUntil').inner_html)
|
1539
|
+
@created_at = Time.parse((elem/'createDate').inner_html)
|
1540
|
+
@logon_count = (elem/'logonCount').inner_html.to_i
|
1541
|
+
@logon_minutes = (elem/'logonMinutes').inner_html.to_i
|
1542
|
+
end
|
1543
|
+
end
|
1544
|
+
|
1545
|
+
# Represents a CharacterInfo for
|
1546
|
+
# Reve::API#character_info
|
1547
|
+
# Basic Attributes
|
1548
|
+
# * id ( Fixnum ) - ID of the Character
|
1549
|
+
# * name ( String ) - Name of the Character
|
1550
|
+
# * race ( String ) - Race of the Character
|
1551
|
+
# * bloodline ( String ) - Bloodline of the Character
|
1552
|
+
# * corporation_id ( Fixnum ) - ID of the Corporation the Character is in
|
1553
|
+
# * corporation_name ( String ) - Name of the Corporation the Character is in
|
1554
|
+
# * corporation_date ( Time ) - Date the Character joined his Corporation
|
1555
|
+
# * alliance_id ( Fixnum | NilClass ) - The ID of the Alliance the Character is in, if any. Will be nil unless the victim was in an Alliance
|
1556
|
+
# * alliance_name ( String | NilClass ) - Name of the Alliance the Character is in, if any.
|
1557
|
+
# * alliance_date ( Time | NilClass ) - Date the Character's Corporations joined the Alliance.
|
1558
|
+
# * security_status ( Float ) - Security status of the Character
|
1559
|
+
# Limited Attributes
|
1560
|
+
# * skillpoints ( Fixnum ) - The amount of Skillpoints
|
1561
|
+
# * skill_training_ends ( Time )-
|
1562
|
+
# * ship_name ( String ) -
|
1563
|
+
# * ship_type_id ( Fixnum ) -
|
1564
|
+
# * ship_type_name ( String ) -
|
1565
|
+
# Full Attributes
|
1566
|
+
# * last_known_location ( String ) -
|
1567
|
+
# * acount_balance ( Float )
|
1568
|
+
class CharacterInfo
|
1569
|
+
attr_reader :id, :name, :race, :bloodline, :corporation_id, :corporation_name, :corporation_date, :alliance_id, :alliance_name, :alliance_date
|
1570
|
+
attr_reader :security_status, :skillpoints, :skill_training_ends, :ship_name, :ship_type_id, :ship_type_name, :last_known_location, :acount_balance
|
1571
|
+
|
1572
|
+
def initialize(elem) #:nodoc:
|
1573
|
+
@id = (elem/'characterID').inner_html.to_i
|
1574
|
+
@name = (elem/'characterName').inner_html
|
1575
|
+
@race = (elem/'race').inner_html
|
1576
|
+
@bloodline = (elem/'bloodline').inner_html
|
1577
|
+
@corporation_id = (elem/'corporationID').inner_html.to_i
|
1578
|
+
@corporation_name = (elem/'corporation').inner_html
|
1579
|
+
@corporation_date = Time.parse((elem/'corporationDate').inner_html)
|
1580
|
+
@alliance_id = (elem/'allianceID').inner_html.to_i
|
1581
|
+
@alliance_name = (elem/'alliance').inner_html
|
1582
|
+
@alliance_date = Time.parse((elem/'alliancenDate').inner_html)
|
1583
|
+
@security_status = (elem/'securityStatus').inner_html.to_f
|
1584
|
+
@skillpoints = (elem/'skillPoints').inner_html == "" ? nil : (elem/'skillPoints').inner_html.to_i
|
1585
|
+
@skill_training_ends = (elem/'nextTrainingEnds').inner_html == "" ? nil : Time.parse((elem/'nextTrainingEnds').inner_html)
|
1586
|
+
@ship_name = (elem/'shipName').inner_html == "" ? nil : (elem/'shipName').inner_html
|
1587
|
+
@ship_type_id = (elem/'shipTypeID').inner_html == "" ? nil : (elem/'shipTypeID').inner_html.to_i
|
1588
|
+
@ship_type_name = (elem/'shipTypeName').inner_html == "" ? nil : (elem/'shipTypeName').inner_html
|
1589
|
+
@last_known_location = (elem/'lastKnownLocation').inner_html == "" ? nil : (elem/'lastKnownLocation').inner_html
|
1590
|
+
@acount_balance = (elem/'accountBalance').inner_html == "" ? nil : (elem/'accountBalance').inner_html.to_f
|
1591
|
+
end
|
1592
|
+
|
1593
|
+
def type
|
1594
|
+
if self.acount_balance
|
1595
|
+
return :full
|
1596
|
+
elsif self.skillpoints
|
1597
|
+
return :limited
|
1598
|
+
else
|
1599
|
+
return :basic
|
1600
|
+
end
|
1601
|
+
end
|
1602
|
+
end
|
1523
1603
|
end
|
1524
1604
|
end
|
data/lib/reve/exceptions.rb
CHANGED
@@ -57,6 +57,8 @@ module Reve
|
|
57
57
|
raise UnexpectedBeforeKillID.new(msg)
|
58
58
|
when 121
|
59
59
|
raise BadBeforeKillID.new(msg)
|
60
|
+
when 122
|
61
|
+
raise InvalidOrMissingListOfNames.new(msg)
|
60
62
|
when 200
|
61
63
|
raise SecurityLevelNotHighEnough.new(msg + ' (Should you be using the full API Key?)')
|
62
64
|
when 201
|
@@ -214,6 +216,9 @@ module Reve
|
|
214
216
|
# 121
|
215
217
|
class BadBeforeKillID < ReveError #:nodoc:
|
216
218
|
end
|
219
|
+
# 122
|
220
|
+
class InvalidOrMissingListOfNames < ReveError #:nodoc:
|
221
|
+
end
|
217
222
|
# 200
|
218
223
|
class SecurityLevelNotHighEnough < ReveError #:nodoc:
|
219
224
|
end
|
data/lib/reve.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
#--
|
2
|
-
# Code copyright Lisa Seelye, 2007-
|
2
|
+
# Code copyright Lisa Seelye, 2007-2010. www.crudvision.com
|
3
|
+
# Contributors at: http://github.com/lisa/reve/contributors
|
3
4
|
# This library is licensed under the terms of the MIT license. For full text
|
4
5
|
# see the LICENSE file distributed with this package.
|
5
6
|
# (Also, send Raquel Smith some ISK if you would like to show appreciation ;-)
|
@@ -16,6 +17,7 @@ require 'uri'
|
|
16
17
|
require 'cgi'
|
17
18
|
require 'digest'
|
18
19
|
require 'fileutils'
|
20
|
+
require 'time'
|
19
21
|
|
20
22
|
$:.unshift(File.dirname(__FILE__)) unless $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
|
21
23
|
|
@@ -93,7 +95,11 @@ module Reve
|
|
93
95
|
@@personal_mailing_lists_url = 'http://api.eve-online.com/char/mailinglists.xml.aspx'
|
94
96
|
@@personal_mail_messages_url = 'http://api.eve-online.com/char/MailMessages.xml.aspx'
|
95
97
|
@@personal_contacts_url = 'http://api.eve-online.com/char/ContactList.xml.aspx'
|
96
|
-
@@corporate_contacts_url
|
98
|
+
@@corporate_contacts_url = 'http://api.eve-online.com/corp/ContactList.xml.aspx'
|
99
|
+
# DO NOT USE THE FOLLOWING IN PRODUCTION
|
100
|
+
# These methods will be available with Tyrannis 1.2 (current data is from the test server)
|
101
|
+
@@account_status_url = 'http://apitest.eve-online.com/account/AccountStatus.xml.aspx'
|
102
|
+
@@character_info_url = 'http://apitest.eve-online.com/eve/CharacterInfo.xml.aspx'
|
97
103
|
|
98
104
|
cattr_accessor :character_sheet_url, :training_skill_url, :characters_url, :personal_wallet_journal_url,
|
99
105
|
:corporate_wallet_journal_url, :personal_wallet_trans_url, :corporate_wallet_trans_url,
|
@@ -108,12 +114,13 @@ module Reve
|
|
108
114
|
:certificate_tree_url, :character_medals_url, :corporate_medals_url,
|
109
115
|
:corp_member_medals_url, :server_status_url, :skill_queue_url, :corporation_member_security_url,
|
110
116
|
:personal_notification_url, :personal_mailing_lists_url, :personal_mail_messages_url,
|
111
|
-
:research_url, :personal_contacts_url, :corporate_contacts_url
|
117
|
+
:research_url, :personal_contacts_url, :corporate_contacts_url,
|
118
|
+
:account_status_url, :character_info_url
|
112
119
|
|
113
120
|
|
114
121
|
attr_accessor :key, :userid, :charid
|
115
|
-
attr_accessor :http_user_agent, :save_path
|
116
|
-
attr_reader :current_time, :cached_until, :last_hash
|
122
|
+
attr_accessor :http_user_agent, :save_path, :timeout
|
123
|
+
attr_reader :current_time, :cached_until, :last_hash, :reve_version
|
117
124
|
|
118
125
|
# Create a new API instance.
|
119
126
|
# current_time and cached_until are meaningful only for the LAST call made.
|
@@ -128,13 +135,15 @@ module Reve
|
|
128
135
|
@charid = (charid || "").to_s
|
129
136
|
|
130
137
|
@save_path = nil
|
131
|
-
|
132
|
-
@http_user_agent = "Reve"
|
138
|
+
|
133
139
|
@max_tries = 3
|
140
|
+
@timeout = 20
|
134
141
|
|
135
142
|
@current_time = nil
|
136
143
|
@cached_until = nil
|
137
144
|
@last_hash = nil
|
145
|
+
@reve_version = File.read(File.join(File.dirname(__FILE__),'../','VERSION')).chomp
|
146
|
+
@http_user_agent = "Reve v#{@reve_version}; http://github.com/lisa/reve"
|
138
147
|
end
|
139
148
|
# Save XML to this directory with the format:
|
140
149
|
# :save_path/:userid/:method/:expires_at_in_unixtime.xml
|
@@ -955,6 +964,29 @@ module Reve
|
|
955
964
|
process_query(Reve::Classes::MailMessage, opts[:url] || @@personal_mail_messages_url,false,args)
|
956
965
|
end
|
957
966
|
|
967
|
+
# DO NOT USE THE FOLLOWING IN PRODUCTION
|
968
|
+
# These methods will be available with Tyrannis 1.2 (current data is from the test server)
|
969
|
+
|
970
|
+
# Gets the status of the selected account. Returns
|
971
|
+
# Reve::Classes::AccountStatus
|
972
|
+
def account_status(opts = {})
|
973
|
+
args = postfields(opts)
|
974
|
+
h = compute_hash(args.merge(:url => @@account_status_url))
|
975
|
+
return h if h
|
976
|
+
xml = process_query(nil,opts[:url] || @@account_status_url,true,args)
|
977
|
+
Reve::Classes::AccountStatus.new(xml.search('//result').first)
|
978
|
+
end
|
979
|
+
|
980
|
+
# Gets the character info sheet for the selected Character
|
981
|
+
# Reve::Classes::CharacterInfo
|
982
|
+
def character_info(opts = { :characterid => nil })
|
983
|
+
args = postfields(opts)
|
984
|
+
h = compute_hash(args.merge(:url => @@character_info_url))
|
985
|
+
return h if h
|
986
|
+
xml = process_query(nil,opts[:url] || @@character_info_url,true,args)
|
987
|
+
Reve::Classes::CharacterInfo.new(xml.search('//result').first)
|
988
|
+
end
|
989
|
+
|
958
990
|
protected
|
959
991
|
# Sets up the post fields for Net::HTTP::Get hash for process_query method.
|
960
992
|
# See also format_url_request
|
@@ -1047,7 +1079,7 @@ module Reve
|
|
1047
1079
|
opts.merge({ :version => 2, :url => nil }) #the uri bit will now ignored in format_url_request
|
1048
1080
|
req_args = format_url_request(opts)
|
1049
1081
|
req = Net::HTTP::Get.new(source.path + req_args)
|
1050
|
-
req['User-Agent'] = @http_referer_agent || "Reve"
|
1082
|
+
req['User-Agent'] = @http_referer_agent || "Reve v#{@reve_version}; http://github.com/lisa/reve"
|
1051
1083
|
|
1052
1084
|
res = nil
|
1053
1085
|
response = nil
|
@@ -1055,7 +1087,10 @@ module Reve
|
|
1055
1087
|
begin
|
1056
1088
|
# ||= to prevent making a new Net::HTTP object, the res = nil above should reset this for the next request.
|
1057
1089
|
# the request needs to be here to rescue exceptions from it.
|
1058
|
-
|
1090
|
+
http ||= Net::HTTP.new(source.host, source.port)
|
1091
|
+
http.open_timeout = 3
|
1092
|
+
http.read_timeout = @timeout
|
1093
|
+
res = http.start {|http| http.request(req) }
|
1059
1094
|
case res
|
1060
1095
|
when Net::HTTPSuccess, Net::HTTPRedirection
|
1061
1096
|
response = res.body
|
data/test/test_reve.rb
CHANGED
@@ -1209,6 +1209,74 @@ class TestReve < Test::Unit::TestCase
|
|
1209
1209
|
assert_equal [128250439,141157801], mails[4].to_list_ids
|
1210
1210
|
end
|
1211
1211
|
|
1212
|
+
def test_account_status_cleanly
|
1213
|
+
Reve::API.account_status_url = XML_BASE + 'account_status.xml'
|
1214
|
+
status = nil
|
1215
|
+
assert_nothing_raised do
|
1216
|
+
status = @api.account_status
|
1217
|
+
end
|
1218
|
+
assert_equal 3000000, status.user_id
|
1219
|
+
assert_equal Time.parse("2004-01-01 00:00:00"), status.created_at
|
1220
|
+
assert_equal Time.parse("2011-01-01 00:00:00"), status.paid_until
|
1221
|
+
assert_equal 9998, status.logon_count
|
1222
|
+
assert_equal 9999, status.logon_minutes
|
1223
|
+
|
1224
|
+
end
|
1225
|
+
|
1226
|
+
def test_character_info_cleanly
|
1227
|
+
Reve::API.character_info_url = XML_BASE + 'char_info.xml'
|
1228
|
+
info = nil
|
1229
|
+
assert_nothing_raised do
|
1230
|
+
info = @api.character_info
|
1231
|
+
end
|
1232
|
+
assert_equal :basic, info.type
|
1233
|
+
assert_equal 1643072492, info.id
|
1234
|
+
assert_equal 'Catari Taga', info.name
|
1235
|
+
assert_equal 'Caldari', info.race
|
1236
|
+
assert_equal 'Achura', info.bloodline
|
1237
|
+
assert_equal 553239300, info.corporation_id
|
1238
|
+
assert_equal 'Centre Of Attention', info.corporation_name
|
1239
|
+
assert_equal Time.parse('2009-02-03 13:06:00'), info.corporation_date
|
1240
|
+
assert_equal 1923227030, info.alliance_id
|
1241
|
+
assert_equal 'Middle of Nowhere', info.alliance_name
|
1242
|
+
assert_equal Time.parse('2009-02-03 13:06:00'), info.alliance_date
|
1243
|
+
assert_equal 0.0, info.security_status
|
1244
|
+
# limited
|
1245
|
+
assert_equal nil, info.skillpoints
|
1246
|
+
assert_equal nil, info.skill_training_ends
|
1247
|
+
assert_equal nil, info.ship_name
|
1248
|
+
assert_equal nil, info.ship_type_id
|
1249
|
+
assert_equal nil, info.ship_type_name
|
1250
|
+
|
1251
|
+
end
|
1252
|
+
|
1253
|
+
def test_character_info_limited_cleanly
|
1254
|
+
Reve::API.character_info_url = XML_BASE + 'char_info_limited.xml'
|
1255
|
+
info = nil
|
1256
|
+
assert_nothing_raised do
|
1257
|
+
info = @api.character_info
|
1258
|
+
end
|
1259
|
+
assert_equal :limited, info.type
|
1260
|
+
assert_equal 9999, info.skillpoints
|
1261
|
+
assert_equal Time.parse('2010-10-10 08:10:48'), info.skill_training_ends
|
1262
|
+
assert_equal '.', info.ship_name
|
1263
|
+
assert_equal 24694, info.ship_type_id
|
1264
|
+
assert_equal 'Maelstrom', info.ship_type_name
|
1265
|
+
# full
|
1266
|
+
assert_equal nil, info.last_known_location
|
1267
|
+
assert_equal nil, info.acount_balance
|
1268
|
+
end
|
1269
|
+
|
1270
|
+
def test_character_info_full_cleanly
|
1271
|
+
Reve::API.character_info_url = XML_BASE + 'char_info_full.xml'
|
1272
|
+
info = nil
|
1273
|
+
assert_nothing_raised do
|
1274
|
+
info = @api.character_info
|
1275
|
+
end
|
1276
|
+
assert_equal :full, info.type
|
1277
|
+
assert_equal 'FD-MLJ VII - Moon 2 - Intaki Bank Investment Bank', info.last_known_location
|
1278
|
+
assert_equal 9999.29, info.acount_balance
|
1279
|
+
end
|
1212
1280
|
# Can we reassign a URL?
|
1213
1281
|
def test_assignment
|
1214
1282
|
assert_nothing_raised do
|
@@ -1285,11 +1353,14 @@ class TestReve < Test::Unit::TestCase
|
|
1285
1353
|
assert_equal real,time
|
1286
1354
|
end
|
1287
1355
|
|
1288
|
-
|
1289
|
-
|
1290
|
-
|
1291
|
-
|
1292
|
-
|
1356
|
+
# It's useful to know the version and we'll stick it in the user agent
|
1357
|
+
# now as well.
|
1358
|
+
def test_reve_version
|
1359
|
+
# Path to Reve version is ../VERSION. We rely on File.read here and in the
|
1360
|
+
# class so it's kind of crummy.
|
1361
|
+
version = File.read(File.join(File.dirname(__FILE__),'../','VERSION')).chomp
|
1362
|
+
assert_equal(@api.reve_version, version)
|
1363
|
+
assert_equal("Reve v#{version}; http://github.com/lisa/reve", @api.http_user_agent)
|
1293
1364
|
end
|
1294
1365
|
|
1295
1366
|
# no need to test corporate cos they're the same.
|
@@ -1341,4 +1412,11 @@ class TestReve < Test::Unit::TestCase
|
|
1341
1412
|
end
|
1342
1413
|
end
|
1343
1414
|
|
1415
|
+
#### All tests above this method.
|
1416
|
+
protected
|
1417
|
+
def get_api(userid = nil, apikey = nil, charid = nil)
|
1418
|
+
api = Reve::API.new(userid, apikey, charid)
|
1419
|
+
api.save_path = nil
|
1420
|
+
api
|
1421
|
+
end
|
1344
1422
|
end
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dsander-reve
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
4
|
+
prerelease: true
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
|
8
|
+
- 133
|
9
|
+
- pre
|
10
|
+
version: 0.0.133.pre
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Lisa Seelye
|