eaal 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,3 +1,8 @@
1
+ == 0.1.1 2008-12-10
2
+
3
+ * 1 bugfix:
4
+ * Rowsets now wont be replaced by ResultElements
5
+
1
6
  == 0.1.0 2008-12-08
2
7
 
3
8
  * 1 major enhancement:
data/README.rdoc CHANGED
@@ -40,7 +40,7 @@ Example 2, getting the id for a given character name
40
40
  api = EAAL::API.new("my userid", "my API key")
41
41
  api.scope = "eve"
42
42
  result = api.CharacterID(:names => "Peter Powers")
43
- puts result.characters.name
43
+ puts result.characters.first.characterID
44
44
 
45
45
  Example 3, Example 2 in short
46
46
  puts EAAL::Api.new("my userid", "my API key", "eve").CharacterID(:names => "Peter Powers").characters.name
@@ -60,6 +60,24 @@ Example 4, catching a specific EVE API Exception
60
60
  #dosomething
61
61
  end
62
62
 
63
+ EAAL comes with a simple file cache, which can be used by doing
64
+ EAAL.cache = EAAL::Cache::FileCache.new(path)
65
+ if you dont give a path it defaults to $HOME/.eaal/cache
66
+
67
+ Example 5, doing a cached request
68
+ require 'eaal'
69
+ EAAL.cache = EAAL::Cache::FileCache.new # set cache
70
+ api = EAAL::API.new("my userid", "my API key") # initialize API object
71
+ charid = api.Characters.characters.first.characterID # get the characterID of the first character on account
72
+ api.scope = "char" # set scope to "char"
73
+ kills = api.Killlog("characterID" => charid).kills # request Killlog API Page
74
+
75
+ both requests in this example will check if the XML is allready available in the cache folder,
76
+ if it is they will check if cachedUntil expired, if it did requests will be made to the API, if it didnt
77
+ the XML file will be load.
78
+
79
+
80
+
63
81
 
64
82
  == REQUIREMENTS:
65
83
 
data/lib/eaal/eaal.rb CHANGED
@@ -28,7 +28,7 @@ module EAAL
28
28
 
29
29
  mattr_reader :version_string, :version
30
30
 
31
- @@version = "0.1.0"
31
+ @@version = "0.1.1"
32
32
  @@version_string = "EAAL" + EAAL.version # the version string, used as client name in http requests
33
33
 
34
34
  mattr_accessor :api_base, :additional_request_parameters, :cache
@@ -55,8 +55,7 @@ module EAAL
55
55
  # necessary
56
56
  def self.parse_element(prefix, element)
57
57
  if element.name == "rowset"
58
- value = EAAL::Rowset.new(prefix, element)
59
- key = value.name
58
+ re = EAAL::Rowset.new(prefix, element)
60
59
  else
61
60
  key = element.name
62
61
  if element.containers.length > 0
@@ -73,10 +72,10 @@ module EAAL
73
72
  else
74
73
  value = element.inner_html
75
74
  end
76
- end
77
- re = ResultElement.new(key, value)
78
- if element.attributes.length > 0
79
- re.attribs.merge!(element.attributes)
75
+ re = ResultElement.new(key, value)
76
+ if element.attributes.length > 0
77
+ re.attribs.merge!(element.attributes)
78
+ end
80
79
  end
81
80
  re
82
81
  end
@@ -98,7 +97,11 @@ module EAAL
98
97
  elements.each {|element|
99
98
  el = EAAL::Result::ResultElement.parse_element(prefix, element)
100
99
  members << el.name
101
- values.merge!({el.name => el.value})
100
+ if el.kind_of? EAAL::Rowset::RowsetBase
101
+ values.merge!({el.name => el})
102
+ else
103
+ values.merge!({el.name => el.value})
104
+ end
102
105
  }
103
106
  if not Object.const_defined? classname
104
107
  klass = Object.const_set(classname, Class.new(EAAL::Result::ResultBase))
data/test/test_eaal.rb CHANGED
@@ -33,4 +33,9 @@ class TestEaal < Test::Unit::TestCase
33
33
  assert_equal @api.Killlog(:characterID => 12345).kills.first.victim.characterName, "Peter Powers"
34
34
  assert_equal @api.Killlog(:characterID => 12345).kills.first.attackers.first.characterID, "12345"
35
35
  end
36
+
37
+ def test_bug_23177
38
+ @api.scope = "eve"
39
+ assert_kind_of EAAL::Rowset::RowsetBase, @api.AllianceList.alliances.first.memberCorporations
40
+ end
36
41
  end
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.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Petermann
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-12-09 00:00:00 +01:00
12
+ date: 2008-12-10 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency