eaal 0.1.10 → 0.1.11

Sign up to get free protection for your applications and to get access to all the features.
@@ -11,12 +11,17 @@ lib/eaal/cache/memcached.rb
11
11
  lib/eaal/exception.rb
12
12
  lib/eaal/result.rb
13
13
  lib/eaal/rowset.rb
14
- script/console
15
- script/destroy
16
- script/generate
17
14
  test/fixtures/test/test/account/Characters/Request_.xml
15
+ test/fixtures/test/test/char/CharacterSheet/Request_.xml
16
+ test/fixtures/test/test/char/CharacterSheet/Request_characterID_12345.xml
18
17
  test/fixtures/test/test/char/Killlog/Request_.xml
19
- test/fixtures/test/test/char/Killlog/Request_characterID:12345.xml
18
+ test/fixtures/test/test/char/Killlog/Request_characterID_12345.xml
19
+ test/fixtures/test/test/char/SkillInTraining/Request_characterID_12345.xml
20
+ test/fixtures/test/test/char/SkillQueue/Request_characterID_12345.xml
21
+ test/fixtures/test/test/char/Standings/Request_.xml
22
+ test/fixtures/test/test/char/Standings/Request_characterID_12345.xml
23
+ test/fixtures/test/test/corp/CorporationSheet/Request_corporationID_150212025.xml
20
24
  test/fixtures/test/test/eve/AllianceList/Request_.xml
25
+ test/fixtures/test/test/server/ServerStatus/Request_.xml
21
26
  test/test_eaal.rb
22
27
  test/test_helper.rb
data/Rakefile CHANGED
@@ -1,25 +1,35 @@
1
- %w[hoe rubygems rake rake/clean fileutils newgem rubigen].each { |f| require f }
2
- require File.dirname(__FILE__) + '/lib/eaal.rb'
1
+ require 'rubygems'
2
+ require 'bundler/setup'
3
+
4
+ Bundler.require
3
5
 
4
6
  # Generate all the Rake tasks
5
7
  # Run 'rake -T' to see list of generated tasks (from gem root directory)
8
+
9
+ # Gives us the gem:spec rake task to generate a gemspec file
10
+ Hoe.plugin :gemspec
11
+
6
12
  $hoe = Hoe.spec 'eaal' do |p|
7
13
  p.developer('Peter Petermann', 'ppetermann80@googlemail.com')
8
14
  p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
9
15
  p.rubyforge_name = p.name
10
16
  p.extra_deps = [
11
- ['activesupport','>= 2.0.2'], ['hpricot', '>= 0.6'], ['memcache-client','>= 1.7.1']
17
+ ['hpricot', '>= 0.6'],
18
+ ['memcache-client','>= 1.7.1'],
19
+ ['faraday', '>= 0.8.4']
12
20
  ]
21
+
13
22
  p.extra_dev_deps = [
14
- ['newgem', ">= #{::Newgem::VERSION}"]
23
+ ['hoe'],
24
+ ['hoe-gemspec']
15
25
  ]
26
+
16
27
  p.clean_globs |= %w[**/.DS_Store tmp *.log]
17
28
  path = (p.rubyforge_name == p.name) ? p.rubyforge_name : "\#{p.rubyforge_name}/\#{p.name}"
18
29
  p.remote_rdoc_dir = File.join(path.gsub(/^#{p.rubyforge_name}\/?/,''), 'rdoc')
19
30
  p.rsync_args = '-av --delete --ignore-errors'
20
31
  end
21
32
 
22
- require 'newgem/tasks' # load /tasks/*.rake
23
33
  Dir['tasks/**/*.rake'].each { |t| load t }
24
34
 
25
35
  # TODO - want other tests/tasks run by default? Add them to the list
@@ -21,11 +21,10 @@ $:.unshift(File.dirname(__FILE__)) unless $:.include?(File.dirname(__FILE__)) ||
21
21
  # External libs
22
22
  require 'rubygems'
23
23
  require 'hpricot'
24
- require 'active_support'
25
- require 'active_support/core_ext'
26
- require 'net/http'
27
- require 'uri'
28
24
  require 'cgi'
25
+ require 'faraday'
26
+ require 'time'
27
+
29
28
  # And now EAAL stuff
30
29
  require 'eaal/cache/base'
31
30
  require 'eaal/cache/file'
@@ -33,14 +32,38 @@ require 'eaal/cache/memcached'
33
32
  require 'eaal/exception'
34
33
  require 'eaal/result'
35
34
  require 'eaal/rowset'
35
+
36
36
  module EAAL
37
- mattr_reader :version_string
38
- VERSION = "0.1.10" # fix for Hoe.spec 2.x
37
+ VERSION = "0.1.11" # fix for Hoe.spec 2.x
39
38
  @@version_string = "EAAL" + VERSION # the version string, used as client name in http requests
40
39
 
41
- mattr_accessor :api_base, :additional_request_parameters, :cache
42
- @@api_base = "http://api.eve-online.com/" # the url used as basis for all requests, you might want to use gatecamper url or a personal proxy instead
40
+ @@api_base = "https://api.eveonline.com" # the url used as basis for all requests, you might want to use gatecamper url or a personal proxy instead
43
41
  @@additional_request_parameters = {} # hash, if :key => value pairs are added those will be added to each request
44
42
  @@cache = EAAL::Cache::NoCache.new # caching object, see EAAL::Cache::FileCache for an Example
43
+
44
+ def self.version_string
45
+ @@version_string
46
+ end
47
+ def self.version_string=(val)
48
+ @@version_string = val
49
+ end
50
+ def self.api_base
51
+ @@api_base
52
+ end
53
+ def self.api_base=(val)
54
+ @@api_base = val
55
+ end
56
+ def self.additional_request_parameters
57
+ @@additional_request_parameters
58
+ end
59
+ def self.additional_request_parameters=(val)
60
+ @@additional_request_parameters = val
61
+ end
62
+ def self.cache
63
+ @@cache
64
+ end
65
+ def self.cache=(val)
66
+ @@cache = val
67
+ end
45
68
  end
46
69
  require 'eaal/api'
@@ -1,4 +1,3 @@
1
-
2
1
  # EAAL::API class
3
2
  # Usage Example:
4
3
  # api = EAAL::API.new("my keyID", "my API key")
@@ -28,8 +27,9 @@ class EAAL::API
28
27
  def method_missing(method, *args)
29
28
  scope = self.scope
30
29
  args_hash = args.first
30
+ cache_only = (args_hash && args_hash.delete(:cache_only)) || false
31
31
  args_hash = {} unless args_hash
32
- self.request_xml(scope, method.id2name, args_hash)
32
+ self.request_xml(scope, method.id2name, args_hash, cache_only)
33
33
  end
34
34
 
35
35
  # make a request to the api. will use cache if set.
@@ -37,45 +37,46 @@ class EAAL::API
37
37
  # * scope (String)
38
38
  # * name (String)
39
39
  # * opts (Hash)
40
- def request_xml(scope, name, opts)
40
+ def request_xml(scope, name, opts, cache_only = false)
41
41
  opts = EAAL.additional_request_parameters.merge(opts)
42
42
  xml = EAAL.cache.load(self.keyid, self.vcode, scope, name,opts)
43
- if not xml
44
- source = URI.parse(EAAL.api_base + scope + '/' + name +'.xml.aspx')
45
- req_path = source.path + format_url_request(opts.merge({
46
- :keyid => self.keyid,
47
- :vcode => self.vcode}))
48
- req = Net::HTTP::Get.new(req_path)
49
- req[EAAL.version_string]
50
- res = Net::HTTP.new(source.host, source.port).start {|http| http.request(req) } #one request for now
51
- case res
52
- when Net::HTTPOK
53
- when Net::HTTPNotFound
43
+
44
+ if (not xml) && (not cache_only)
45
+
46
+ conn = Faraday.new(:url => "#{EAAL.api_base}") do |faraday|
47
+ faraday.request :url_encoded
48
+ faraday.adapter Faraday.default_adapter
49
+ end
50
+
51
+ response = conn.get(
52
+ request_path(name),
53
+ opts.merge({
54
+ :keyid => self.keyid,
55
+ :vcode => self.vcode}))
56
+
57
+ case response.status
58
+ when 200
59
+ # Nothing
60
+ when 404
54
61
  raise EAAL::Exception::APINotFoundError.new("The requested API (#{scope} / #{name}) could not be found.")
55
62
  else
56
- raise EAAL::Exception::HTTPError.new("An HTTP Error occured, body: " + res.body)
63
+ raise EAAL::Exception::HTTPError.new("An HTTP Error occured, body: " + response.body)
57
64
  end
58
- EAAL.cache.save(self.keyid, self.vcode, scope,name,opts, res.body)
59
- xml = res.body
60
- end
61
- doc = Hpricot.XML(xml)
62
- result = EAAL::Result.new(scope.capitalize + name, doc)
63
- end
64
65
 
65
- # Turns a hash into ?var=baz&bam=boo
66
- # stolen from Reve (thx lisa)
67
- # * opts (Hash)
68
- def format_url_request(opts)
69
- req = ''
70
-
71
- opts.delete_if {|k,v| v.nil? }
72
- return req if opts.empty?
66
+ EAAL.cache.save(self.keyid, self.vcode, scope,name,opts, response.body)
67
+ xml = response.body
68
+ end
73
69
 
74
- opts.stringify_keys!
75
- opts = opts.keys.sort.map do |key|
76
- "#{CGI.escape(key.to_s)}=#{CGI.escape(opts[key].to_s)}"
70
+ if xml
71
+ doc = Hpricot.XML(xml)
72
+ result = EAAL::Result.new(scope.capitalize + name, doc)
73
+ else
74
+ result = nil
77
75
  end
78
- req = '?' + opts.join('&')
76
+ end
77
+
78
+ def request_path(name)
79
+ "/#{scope}/#{name}.xml.aspx"
79
80
  end
80
81
 
81
82
  end
@@ -21,8 +21,11 @@ class EAAL::Cache::FileCache
21
21
  def filename(userid, apikey, scope, name, args)
22
22
  ret =""
23
23
  args.delete_if { |k,v| (v || "").to_s.length == 0 }
24
- h = args.stringify_keys
25
- ret += h.sort.flatten.collect{ |e| e.to_s }.join('_')
24
+ # h = args.stringify_keys
25
+ args.keys.each do |key|
26
+ args[key.to_s] = args.delete(key)
27
+ end
28
+ ret += args.sort.flatten.collect{ |e| e.to_s }.join('_')
26
29
  hash = ret.gsub(/_$/,'')
27
30
  "#{@basepath}#{userid}/#{apikey}/#{scope}/#{name}/Request_#{hash}.xml"
28
31
  end
@@ -46,7 +49,7 @@ class EAAL::Cache::FileCache
46
49
  # validate cached datas cachedUntil
47
50
  def validate_cache(xml, name)
48
51
  doc = Hpricot.XML(xml)
49
- cached_until = (doc/"/eveapi/cachedUntil").inner_html.to_time
52
+ cached_until = Time.parse((doc/"/eveapi/cachedUntil").inner_html)
50
53
  if name == "WalletJournal"
51
54
  result = Time.at(cached_until.to_i + 3600) > Time.now.utc
52
55
  else
@@ -17,7 +17,7 @@ class EAAL::Cache::MemcachedCache
17
17
  # the key when we can go get a new copy.
18
18
  def save(userid, apikey, scope, name, args, xml)
19
19
  k = key(userid, apikey, scope, name, args)
20
- cached_until = xml.match(/<cachedUntil>(.+)<\/cachedUntil>/)[1].to_time
20
+ cached_until = Time.parse(xml.match(/<cachedUntil>(.+)<\/cachedUntil>/)[1])
21
21
  expires_in = (name=='WalletJournal' ? cached_until.to_i+3600 : cached_until.to_i )
22
22
  $cache.delete(k)
23
23
  $cache.add(k,xml,expires_in)
@@ -78,7 +78,8 @@ module EAAL
78
78
  }
79
79
  value = container
80
80
  else
81
- value = element.inner_html.gsub(/\W+/, "") #Mainly to filter tags within description element in corporationsheet.
81
+ # Mainly to filter HTML tags within description element in corporationsheet.
82
+ value = element.inner_html.gsub(/(<|&lt;)(.|\n)*?(>|&gt;)/, "")
82
83
  end
83
84
  re = ResultElement.new(key, value)
84
85
  if element.attributes.to_hash.length > 0
@@ -0,0 +1,6 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <eveapi version="2">
3
+ <currentTime>2009-08-26 08:23:27</currentTime>
4
+ <error code="106">Must provide userID parameter for authentication.</error>
5
+ <cachedUntil>2009-08-26 08:28:27</cachedUntil>
6
+ </eveapi>
@@ -0,0 +1,65 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <eveapi version="2">
3
+ <currentTime>2007-06-18 22:49:01</currentTime>
4
+ <result>
5
+ <characterID>12345</characterID>
6
+ <name>corpslave</name>
7
+ <race>Minmatar</race>
8
+ <bloodLine>Brutor</bloodLine>
9
+ <gender>Female</gender>
10
+ <corporationName>corpexport Corp</corporationName>
11
+ <corporationID>150337746</corporationID>
12
+ <cloneName>Clone Grade Pi</cloneName>
13
+ <cloneSkillPoints>54600000</cloneSkillPoints>
14
+ <balance>190210393.87</balance>
15
+ <attributeEnhancers>
16
+ <intelligenceBonus>
17
+ <augmentatorName>Snake Delta</augmentatorName>
18
+ <augmentatorValue>3</augmentatorValue>
19
+ </intelligenceBonus>
20
+ <memoryBonus>
21
+ <augmentatorName>Halo Beta</augmentatorName>
22
+ <augmentatorValue>3</augmentatorValue>
23
+ </memoryBonus>
24
+ </attributeEnhancers>
25
+ <attributes>
26
+ <intelligence>6</intelligence>
27
+ <memory>4</memory>
28
+ <charisma>7</charisma>
29
+ <perception>12</perception>
30
+ <willpower>10</willpower>
31
+ </attributes>
32
+ <rowset name="skills" key="typeID" columns="typeID,skillpoints,level,unpublished">
33
+ <row typeID="3431" skillpoints="8000" level="3"/>
34
+ <row typeID="3413" skillpoints="8000" level="3"/>
35
+ <row typeID="21059" skillpoints="500" level="1"/>
36
+ <row typeID="3416" skillpoints="8000" level="3"/>
37
+ <row typeID="3445" skillpoints="277578" unpublished="1"/>
38
+ </rowset>
39
+ <rowset name="certificates" key="certificateID" columns="certificateID">
40
+ <row certificateID="1"/>
41
+ <row certificateID="5"/>
42
+ <row certificateID="19"/>
43
+ <row certificateID="239"/>
44
+ <row certificateID="282"/>
45
+ <row certificateID="32"/>
46
+ <row certificateID="258"/>
47
+ </rowset>
48
+ <rowset name="corporationRoles" key="roleID" columns="roleID,roleName">
49
+ <row roleID="1" roleName="roleDirector" />
50
+ </rowset>
51
+ <rowset name="corporationRolesAtHQ" key="roleID" columns="roleID,roleName">
52
+ <row roleID="1" roleName="roleDirector" />
53
+ </rowset>
54
+ <rowset name="corporationRolesAtBase" key="roleID" columns="roleID,roleName">
55
+ <row roleID="1" roleName="roleDirector" />
56
+ </rowset>
57
+ <rowset name="corporationRolesAtOther" key="roleID" columns="roleID,roleName">
58
+ <row roleID="1" roleName="roleDirector" />
59
+ </rowset>
60
+ <rowset name="corporationTitles" key="titleID" columns="titleID,titleName">
61
+ <row titleID="1" titleName="Member" />
62
+ </rowset>
63
+ </result>
64
+ <cachedUntil>2207-06-18 23:49:01</cachedUntil>
65
+ </eveapi>
@@ -0,0 +1,14 @@
1
+ <eveapi version="2">
2
+ <currentTime>2008-08-17 06:43:00</currentTime>
3
+ <result>
4
+ <currentTQTime offset="0">2008-08-17 06:43:00</currentTQTime>
5
+ <trainingEndTime>2008-08-17 15:29:44</trainingEndTime>
6
+ <trainingStartTime>2008-08-15 04:01:16</trainingStartTime>
7
+ <trainingTypeID>3305</trainingTypeID>
8
+ <trainingStartSP>24000</trainingStartSP>
9
+ <trainingDestinationSP>135765</trainingDestinationSP>
10
+ <trainingToLevel>4</trainingToLevel>
11
+ <skillInTraining>1</skillInTraining>
12
+ </result>
13
+ <cachedUntil>2108-08-17 06:58:00</cachedUntil>
14
+ </eveapi>
@@ -0,0 +1,11 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <eveapi version="2">
3
+ <currentTime>2009-03-18 13:19:43</currentTime>
4
+ <result>
5
+ <rowset name="skillqueue" key="queuePosition" columns="queuePosition,typeID,level,startSP,endSP,startTime,endTime">
6
+ <row queuePosition="1" typeID="11441" level="3" startSP="7072" endSP="40000" startTime="2009-03-18 02:01:06" endTime="2009-03-18 15:19:21" />
7
+ <row queuePosition="2" typeID="20533" level="4" startSP="112000" endSP="633542" startTime="2009-03-18 15:19:21" endTime="2009-03-30 03:16:14" />
8
+ </rowset>
9
+ </result>
10
+ <cachedUntil>2109-03-18 13:34:43</cachedUntil>
11
+ </eveapi>
@@ -0,0 +1,6 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <eveapi version="2">
3
+ <currentTime>2008-12-08 15:19:28</currentTime>
4
+ <error code="105">Invalid characterID.</error>
5
+ <cachedUntil>2020-12-08 16:02:25</cachedUntil>
6
+ </eveapi>
@@ -0,0 +1,33 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <eveapi version="2">
3
+ <currentTime>2008-09-03 12:20:19</currentTime>
4
+ <result>
5
+ <standingsTo>
6
+ <rowset name="characters" key="toID" columns="toID,toName,standing">
7
+ <row toID="123456" toName="Test Ally" standing="1" />
8
+ <row toID="234567" toName="Test Friend" standing="0.5" />
9
+ <row toID="345678" toName="Test Enemy" standing="-0.8" />
10
+ </rowset>
11
+ <rowset name="corporations" key="toID" columns="toID,toName,standing">
12
+ <row toID="456789" toName="Test Bad Guy Corp" standing="-1" />
13
+ </rowset>
14
+ </standingsTo>
15
+ <standingsFrom>
16
+ <rowset name="agents" key="fromID" columns="fromID,fromName,standing">
17
+ <row fromID="3009841" fromName="Pausent Ansin" standing="0.1" />
18
+ <row fromID="3009846" fromName="Charie Octienne" standing="0.19" />
19
+ </rowset>
20
+ <rowset name="NPCCorporations" key="fromID" columns="fromID,fromName,standing">
21
+ <row fromID="1000061" fromName="Freedom Extension" standing="0" />
22
+ <row fromID="1000064" fromName="Carthum Conglomerate" standing="0.34" />
23
+ <row fromID="1000094" fromName="TransStellar Shipping" standing="0.02" />
24
+ </rowset>
25
+ <rowset name="factions" key="fromID" columns="fromID,fromName,standing">
26
+ <row fromID="500003" fromName="Amarr Empire" standing="-0.1" />
27
+ <row fromID="500020" fromName="Serpentis" standing="-1" />
28
+ </rowset>
29
+ </standingsFrom>
30
+ </result>
31
+ <cachedUntil>2025-09-03 15:20:19</cachedUntil>
32
+ </eveapi>
33
+
@@ -0,0 +1,50 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <eveapi version="2">
3
+ <currentTime>2007-12-02 19:43:40</currentTime>
4
+ <result>
5
+ <corporationID>150212025</corporationID>
6
+ <corporationName>Banana Republic</corporationName>
7
+ <ticker>BR</ticker>
8
+ <ceoID>150208955</ceoID>
9
+ <ceoName>Mark Roled</ceoName>
10
+ <stationID>60003469</stationID>
11
+ <stationName>Jita IV - Caldari Business Tribunal Information Center</stationName>
12
+ <description>Garth's testing corp of awesome sauce, win sauce as it were. In this
13
+ corp...&lt;br&gt;&lt;br&gt;IT HAPPENS ALL OVER</description>
14
+ <url>some url</url>
15
+ <allianceID>150430947</allianceID>
16
+ <allianceName>The Dead Rabbits</allianceName>
17
+ <taxRate>93.7</taxRate>
18
+ <memberCount>3</memberCount>
19
+ <memberLimit>6300</memberLimit>
20
+ <shares>1</shares>
21
+ <rowset name="divisions" key="accountKey" columns="accountKey,description">
22
+ <row accountKey="1000" description="1ST DIVISION" />
23
+ <row accountKey="1001" description="2ND DIVISION" />
24
+ <row accountKey="1002" description="HELLO" />
25
+ <row accountKey="1003" description="DIVISION" />
26
+ <row accountKey="1004" description="SWEET" />
27
+ <row accountKey="1005" description="6TH DIVISION" />
28
+ <row accountKey="1006" description="7TH DIVISION" />
29
+ </rowset>
30
+ <rowset name="walletDivisions" key="accountKey" columns="accountKey,description">
31
+ <row accountKey="1000" description="Master Wallet" />
32
+ <row accountKey="1001" description="2nd Wallet Division" />
33
+ <row accountKey="1002" description="3rd Wallet Division" />
34
+ <row accountKey="1003" description="AYE WALLET?" />
35
+ <row accountKey="1004" description="5th Wallet Division" />
36
+ <row accountKey="1005" description="6th Wallet Division" />
37
+ <row accountKey="1006" description="7th Wallet Division" />
38
+ </rowset>
39
+ <logo>
40
+ <graphicID>0</graphicID>
41
+ <shape1>448</shape1>
42
+ <shape2>0</shape2>
43
+ <shape3>418</shape3>
44
+ <color1>681</color1>
45
+ <color2>676</color2>
46
+ <color3>0</color3>
47
+ </logo>
48
+ </result>
49
+ <cachedUntil>2107-12-03 01:43:40</cachedUntil>
50
+ </eveapi>
@@ -0,0 +1,9 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <eveapi version="2">
3
+ <currentTime>2009-08-26 09:56:41</currentTime>
4
+ <result>
5
+ <serverOpen>True</serverOpen>
6
+ <onlinePlayers>22347</onlinePlayers>
7
+ </result>
8
+ <cachedUntil>2109-08-26 09:59:41</cachedUntil>
9
+ </eveapi>
@@ -28,7 +28,7 @@ class TestEaal < Test::Unit::TestCase
28
28
  def test_api_parse_data
29
29
  @api.scope = "account"
30
30
  assert_equal @api.Characters.characters.first.name, "Test Tester"
31
- assert_equal @api.Characters.characters.second.corporationID, "7890"
31
+ assert_equal @api.Characters.characters[1].corporationID, "7890"
32
32
  @api.scope = "char"
33
33
  assert_equal @api.Killlog(:characterID => 12345).kills.length, 1
34
34
  assert_equal @api.Killlog(:characterID => 12345).kills.first.victim.characterName, "Peter Powers"
@@ -75,6 +75,15 @@ class TestEaal < Test::Unit::TestCase
75
75
  assert_equal @api.CorporationSheet(:corporationID => 150212025).walletDivisions[0].description, "Master Wallet"
76
76
  end
77
77
 
78
+ def test_cache_only
79
+ @api.scope = "char"
80
+ result = @api.ContactList(:characterID => 12345, :cache_only => true)
81
+ assert_nil result
82
+
83
+ assert_not_nil @api.Standings(:characterID => 12345, :cache_only => false)
84
+ assert_not_nil @api.Standings(:characterID => 12345)
85
+ end
86
+
78
87
  # Test to ensure Memcached works
79
88
  def test_memcached
80
89
  # FIXME must check if memcache server is installed... (binary memcache)
@@ -94,13 +103,13 @@ class TestEaal < Test::Unit::TestCase
94
103
  @api.scope = 'account'
95
104
 
96
105
  # store to cache
97
- assert_equal EAAL.cache.save(@api.userid,@api.key,@api.scope,'Characters','',xml), "STORED\r\n"
106
+ assert_equal EAAL.cache.save(@api.keyid,@api.vcode,@api.scope,'Characters','',xml), "STORED\r\n"
98
107
 
99
108
  # check key in cache
100
- assert_equal EAAL.cache.key(@api.userid,@api.key,@api.scope,'Characters',''), "testtestaccountCharacters"
109
+ assert_equal EAAL.cache.key(@api.keyid,@api.vcode,@api.scope,'Characters',''), "testtestaccountCharacters"
101
110
 
102
111
  # load from cache
103
- assert_equal EAAL.cache.load(@api.userid,@api.key,@api.scope,'Characters',''), xml
112
+ assert_equal EAAL.cache.load(@api.keyid,@api.vcode,@api.scope,'Characters',''), xml
104
113
 
105
114
  # FIXME high level tests
106
115
  # Should store to cache
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eaal
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.10
4
+ version: 0.1.11
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,16 +9,16 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-01 00:00:00.000000000 Z
12
+ date: 2012-10-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: activesupport
15
+ name: hpricot
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: 2.0.2
21
+ version: '0.6'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,15 +26,15 @@ dependencies:
26
26
  requirements:
27
27
  - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
- version: 2.0.2
29
+ version: '0.6'
30
30
  - !ruby/object:Gem::Dependency
31
- name: hpricot
31
+ name: memcache-client
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  none: false
34
34
  requirements:
35
35
  - - ! '>='
36
36
  - !ruby/object:Gem::Version
37
- version: '0.6'
37
+ version: 1.7.1
38
38
  type: :runtime
39
39
  prerelease: false
40
40
  version_requirements: !ruby/object:Gem::Requirement
@@ -42,15 +42,15 @@ dependencies:
42
42
  requirements:
43
43
  - - ! '>='
44
44
  - !ruby/object:Gem::Version
45
- version: '0.6'
45
+ version: 1.7.1
46
46
  - !ruby/object:Gem::Dependency
47
- name: memcache-client
47
+ name: faraday
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  none: false
50
50
  requirements:
51
51
  - - ! '>='
52
52
  - !ruby/object:Gem::Version
53
- version: 1.7.1
53
+ version: 0.8.4
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
@@ -58,15 +58,15 @@ dependencies:
58
58
  requirements:
59
59
  - - ! '>='
60
60
  - !ruby/object:Gem::Version
61
- version: 1.7.1
61
+ version: 0.8.4
62
62
  - !ruby/object:Gem::Dependency
63
- name: newgem
63
+ name: hoe
64
64
  requirement: !ruby/object:Gem::Requirement
65
65
  none: false
66
66
  requirements:
67
67
  - - ! '>='
68
68
  - !ruby/object:Gem::Version
69
- version: 1.5.3
69
+ version: '0'
70
70
  type: :development
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
@@ -74,23 +74,23 @@ dependencies:
74
74
  requirements:
75
75
  - - ! '>='
76
76
  - !ruby/object:Gem::Version
77
- version: 1.5.3
77
+ version: '0'
78
78
  - !ruby/object:Gem::Dependency
79
- name: hoe
79
+ name: hoe-gemspec
80
80
  requirement: !ruby/object:Gem::Requirement
81
81
  none: false
82
82
  requirements:
83
- - - ~>
83
+ - - ! '>='
84
84
  - !ruby/object:Gem::Version
85
- version: '3.0'
85
+ version: '0'
86
86
  type: :development
87
87
  prerelease: false
88
88
  version_requirements: !ruby/object:Gem::Requirement
89
89
  none: false
90
90
  requirements:
91
- - - ~>
91
+ - - ! '>='
92
92
  - !ruby/object:Gem::Version
93
- version: '3.0'
93
+ version: '0'
94
94
  description: ! 'EAAL (Eve API Access Layer) is a ruby library for accessing data of
95
95
  the API of
96
96
 
@@ -118,16 +118,20 @@ files:
118
118
  - lib/eaal/exception.rb
119
119
  - lib/eaal/result.rb
120
120
  - lib/eaal/rowset.rb
121
- - script/console
122
- - script/destroy
123
- - script/generate
124
121
  - test/fixtures/test/test/account/Characters/Request_.xml
122
+ - test/fixtures/test/test/char/CharacterSheet/Request_.xml
123
+ - test/fixtures/test/test/char/CharacterSheet/Request_characterID_12345.xml
125
124
  - test/fixtures/test/test/char/Killlog/Request_.xml
126
- - test/fixtures/test/test/char/Killlog/Request_characterID:12345.xml
125
+ - test/fixtures/test/test/char/Killlog/Request_characterID_12345.xml
126
+ - test/fixtures/test/test/char/SkillInTraining/Request_characterID_12345.xml
127
+ - test/fixtures/test/test/char/SkillQueue/Request_characterID_12345.xml
128
+ - test/fixtures/test/test/char/Standings/Request_.xml
129
+ - test/fixtures/test/test/char/Standings/Request_characterID_12345.xml
130
+ - test/fixtures/test/test/corp/CorporationSheet/Request_corporationID_150212025.xml
127
131
  - test/fixtures/test/test/eve/AllianceList/Request_.xml
132
+ - test/fixtures/test/test/server/ServerStatus/Request_.xml
128
133
  - test/test_eaal.rb
129
134
  - test/test_helper.rb
130
- - .gemtest
131
135
  homepage: http://eaal.rubyforge.org
132
136
  licenses: []
133
137
  post_install_message:
data/.gemtest DELETED
File without changes
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # File: script/console
3
- irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
4
-
5
- libs = " -r irb/completion"
6
- # Perhaps use a console_lib to store any extra methods I may want available in the cosole
7
- # libs << " -r #{File.dirname(__FILE__) + '/../lib/console_lib/console_logger.rb'}"
8
- libs << " -r #{File.dirname(__FILE__) + '/../lib/eaal.rb'}"
9
- puts "Loading eaal gem"
10
- exec "#{irb} #{libs} --simple-prompt"
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
- APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
3
-
4
- begin
5
- require 'rubigen'
6
- rescue LoadError
7
- require 'rubygems'
8
- require 'rubigen'
9
- end
10
- require 'rubigen/scripts/destroy'
11
-
12
- ARGV.shift if ['--help', '-h'].include?(ARGV[0])
13
- RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
14
- RubiGen::Scripts::Destroy.new.run(ARGV)
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
- APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
3
-
4
- begin
5
- require 'rubigen'
6
- rescue LoadError
7
- require 'rubygems'
8
- require 'rubigen'
9
- end
10
- require 'rubigen/scripts/generate'
11
-
12
- ARGV.shift if ['--help', '-h'].include?(ARGV[0])
13
- RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
14
- RubiGen::Scripts::Generate.new.run(ARGV)