quetzall-cloud_cache 1.1.3 → 1.1.4

Sign up to get free protection for your applications and to get access to all the features.
data/lib/cloud_cache.rb CHANGED
@@ -124,16 +124,28 @@ module ActiveSupport
124
124
  values = {}
125
125
  curr_key = nil
126
126
  data_length = 0
127
+ val = ""
128
+ count = 0
127
129
  body.each_line do |line|
128
- break if line == "END\r\n"
130
+ # print 'LINE=' + line
131
+ if line == "END\r\n"
132
+ # puts 'ENDED!!!'
133
+ break
134
+ end
129
135
  if line =~ /^VALUE (.+) (.+)/ then # (key) (bytes)
136
+ if !curr_key.nil?
137
+ values[curr_key] = raw ? val.strip : Marshal.load(val.strip)
138
+ end
130
139
  curr_key, data_length = $1, $2
140
+ val = ""
131
141
  #raise CloudCacheError, "Unexpected response #{line.inspect}"
132
142
  else
133
143
  # data block
134
- values[curr_key] = raw ? line.strip : Marshal.load(line.strip)
144
+ val += line
135
145
  end
146
+ count += 1
136
147
  end
148
+ values[curr_key] = raw ? val.strip : Marshal.load(val.strip)
137
149
  #puts 'values=' + values.inspect
138
150
  values
139
151
  end
@@ -163,6 +175,7 @@ module ActiveSupport
163
175
 
164
176
  def list_keys
165
177
  body = run_http(:get, "listkeys", "listkeys")
178
+ # puts "list_keys=" + body
166
179
  keys = ActiveSupport::JSON.decode body # body[1..-2].split(',').collect! {|n| n.to_i}
167
180
  keys
168
181
  end
@@ -205,6 +218,10 @@ module ActiveSupport
205
218
  end
206
219
 
207
220
  def exist?(key, options = nil)
221
+ exists?(key, options)
222
+ end
223
+
224
+ def exists?(key, options = nil)
208
225
  x = get(key, true)
209
226
  return !x.nil?
210
227
  end
data/test/cache_tests.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require 'test/unit'
2
2
  require '../lib/cloud_cache'
3
-
3
+ require 'my_class'
4
4
  #
5
5
  # You'll need make a cloudcache.yml file in this directory that contains:
6
6
  # amazon:
@@ -90,7 +90,7 @@ class CacheTests < Test::Unit::TestCase
90
90
  end
91
91
 
92
92
  def test_list_keys
93
- @cache.put("k1", "v2")
93
+ @cache.put("k1", "v2", 1000)
94
94
  sleep 1
95
95
  keys = @cache.list_keys
96
96
  puts("PRINTING KEYS:")
@@ -150,13 +150,15 @@ class CacheTests < Test::Unit::TestCase
150
150
  def test_get_multi
151
151
  @cache.put("m1", "v1", 500, false)
152
152
  @cache.put("m2", "v2", 500, false)
153
+ @cache.put("m4", MyClass.new("Travis", 10), 500, false)
153
154
 
154
- kz = Array["m1", "m2", "m3"]
155
+ kz = Array["m1", "m2", "m3", "m4"]
155
156
  vz = @cache.get_multi(kz)
156
157
 
157
158
  assert_equal("v1", vz["m1"]);
158
159
  assert_equal("v2", vz["m2"]);
159
160
  assert_nil(vz["m3"]);
161
+ assert_equal("Travis", vz["m4"].name, vz["m4"].age)
160
162
  end
161
163
 
162
164
 
data/test/my_class.rb ADDED
@@ -0,0 +1,9 @@
1
+
2
+ class MyClass
3
+ attr_accessor :name, :age
4
+
5
+ def initialize(name, age)
6
+ @name = name
7
+ @age = age
8
+ end
9
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: quetzall-cloud_cache
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ version: 1.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Travis Reeder
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-06-30 00:00:00 -07:00
12
+ date: 2009-07-14 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -54,5 +54,6 @@ specification_version: 2
54
54
  summary: Client library for Quetzall's CloudCache service.
55
55
  test_files:
56
56
  - test/cache_tests.rb
57
+ - test/my_class.rb
57
58
  - test/test_cloud_cache.rb
58
59
  - test/test_runner.rb