memcache 1.2.13 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -1,7 +1,9 @@
1
1
  pkg
2
+ *~
2
3
  *.bundle
3
4
  *.so
4
5
  *.o
6
+ Gemfile.lock
5
7
  Makefile
6
8
  mkmf.log
7
9
  *.gem
data/.rbenv-gemsets ADDED
@@ -0,0 +1 @@
1
+ memcache
data/.rbenv-version ADDED
@@ -0,0 +1 @@
1
+ ree-1.8.7-2012.02
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source "http://www.rubygems.org"
2
+
3
+ gemspec
data/README.rdoc CHANGED
@@ -120,7 +120,7 @@ alternate backend server implementations. Right now, there are three basic, alte
120
120
  duration of a request.
121
121
 
122
122
  [+PGServer+] This is an implementation of memcached functionality using SQL. It stores all
123
- data in a single postgres table and uses +PGConn+ to select and update this
123
+ data in a single postgres table and uses +PGconn+ to select and update this
124
124
  table. This works well as a permanent cache or in the case when your objects
125
125
  are very large. It can also be used in a multi-level cache setup with
126
126
  <tt>Memcache::Server</tt> to provide persistence without sacrificing speed.
data/Rakefile CHANGED
@@ -1,72 +1,16 @@
1
- require 'rubygems'
2
- require 'rake'
3
-
4
- begin
5
- require 'jeweler'
6
- Jeweler::Tasks.new do |gem|
7
- gem.name = "memcache"
8
- gem.summary = %Q{Advanced ruby memcache client}
9
- gem.description = %Q{Ruby client for memcached supporting advanced protocol features and pluggable architecture.}
10
- gem.email = "code@justinbalthrop.com"
11
- gem.homepage = "http://github.com/ninjudd/memcache"
12
- gem.authors = ["Justin Balthrop"]
13
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
14
- end
15
- Jeweler::GemcutterTasks.new
16
- rescue LoadError
17
- puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
18
- end
19
-
20
1
  require 'rake/testtask'
21
- Rake::TestTask.new(:test) do |test|
22
- test.libs << 'lib' << 'test'
23
- test.pattern = 'test/**/*_test.rb'
24
- test.verbose = true
25
- end
2
+ require 'bundler/gem_tasks'
26
3
 
27
- begin
28
- require 'rcov/rcovtask'
29
- Rcov::RcovTask.new do |test|
30
- test.libs << 'test'
31
- test.pattern = 'test/**/*_test.rb'
32
- test.verbose = true
33
- end
34
- rescue LoadError
35
- task :rcov do
36
- abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
37
- end
4
+ Rake::TestTask.new do |t|
5
+ t.libs = ['lib', 'test']
6
+ t.pattern = 'test/**/*_test.rb'
7
+ t.verbose = false
38
8
  end
39
9
 
40
- task :test => :check_dependencies
41
-
42
- task :default => :test
43
-
44
- task :clean do
45
- `rm -rf ext/lib ext/bin ext/share ext/include`
46
- end
47
-
48
- require 'rake/rdoctask'
49
- Rake::RDocTask.new do |rdoc|
50
- if File.exist?('VERSION')
51
- version = File.read('VERSION')
52
- else
53
- version = ""
54
- end
55
-
56
- rdoc.rdoc_dir = 'rdoc'
57
- rdoc.title = "memcache #{version}"
58
- rdoc.rdoc_files.include('README*')
59
- rdoc.rdoc_files.include('lib/**/*.rb')
60
- end
61
-
62
- namespace :test => 'lib/memcache/native_server.o' do
63
- Rake::TestTask.new(:native) do |t|
64
- t.libs << 'test'
65
- t.pattern = 'test/memcache_*native_server_test.rb'
66
- t.verbose
67
- end
68
- end
10
+ task :test => 'lib/memcache/native_server.o'
69
11
 
70
12
  file 'lib/memcache/native_server.o' do
71
13
  `cd ext && ruby extconf.rb && make && cp native_server.bundle native_server.o ../lib/memcache/`
72
14
  end
15
+
16
+ task :default => :test
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.3.0
data/ext/extconf.rb CHANGED
@@ -40,15 +40,31 @@ if !ENV["EXTERNAL_LIB"]
40
40
  system("rm -rf #{BUNDLE_PATH}") unless ENV['DEBUG'] or ENV['DEV']
41
41
  end
42
42
  end
43
-
43
+
44
44
  # Absolutely prevent the linker from picking up any other libmemcached
45
- Dir.chdir("#{HERE}/lib") do
46
- system('cp -f libmemcached.a libmemcached_gem.a')
47
- system('cp -f libmemcached.la libmemcached_gem.la')
45
+ if File.exists?("#{HERE}/lib/amd64/libmemcached.a")
46
+ # fix linking issue under solaris
47
+ # https://github.com/ninjudd/memcache/issues/5
48
+ Dir.chdir("#{HERE}/lib/amd64") do
49
+ system('cp -f libmemcached.a ../libmemcached_gem.a')
50
+ system('cp -f libmemcached.la ../libmemcached_gem.la')
51
+ end
52
+ else
53
+ Dir.chdir("#{HERE}/lib") do
54
+ system('cp -f libmemcached.a libmemcached_gem.a')
55
+ system('cp -f libmemcached.la libmemcached_gem.la')
56
+ end
48
57
  end
49
-
58
+
50
59
  $LIBS << " -lmemcached_gem"
51
60
  end
52
61
 
62
+ # ------------------------------------------------------
63
+ # thanks to: https://gist.github.com/IanVaughan/5489431
53
64
  $CPPFLAGS += " -DRUBY_19" if RUBY_VERSION =~ /1.9/
65
+ $CPPFLAGS += " -DRUBY_20" if RUBY_VERSION =~ /2.0/
66
+
67
+ puts "*** Using Ruby version: #{RUBY_VERSION}"
68
+ puts "*** with CPPFLAGS: #{$CPPFLAGS}"
69
+ # ------------------------------------------------------
54
70
  create_makefile('memcache/native_server')
Binary file
data/ext/native_server.c CHANGED
@@ -124,7 +124,7 @@ static VALUE mc_initialize(VALUE self, VALUE opts) {
124
124
  memcached_behavior_set(mc, MEMCACHED_BEHAVIOR_BINARY_PROTOCOL, true);
125
125
 
126
126
  if (!NIL_P(prefixv))
127
- memcached_callback_set(mc, MEMCACHED_CALLBACK_PREFIX_KEY, STR2CSTR(prefixv));
127
+ memcached_callback_set(mc, MEMCACHED_CALLBACK_PREFIX_KEY, StringValuePtr(prefixv));
128
128
 
129
129
  if (!NIL_P(servers_aryv)) {
130
130
  char* server;
@@ -152,7 +152,7 @@ static VALUE mc_initialize(VALUE self, VALUE opts) {
152
152
  return self;
153
153
  }
154
154
 
155
- #ifdef RUBY_19
155
+ #if defined(RUBY_19) || defined(RUBY_20)
156
156
  #define RSTRING_SET_LEN(str, newlen) (rb_str_set_len(str, new_len))
157
157
  #else
158
158
  #define RSTRING_SET_LEN(str, newlen) (RSTRING(str)->len = new_len)
@@ -555,7 +555,7 @@ VALUE mc_set_prefix(VALUE self, VALUE prefix) {
555
555
  result = memcached_callback_set(mc, MEMCACHED_CALLBACK_PREFIX_KEY, NULL);
556
556
  } else {
557
557
  prefix = StringValue(prefix);
558
- result = memcached_callback_set(mc, MEMCACHED_CALLBACK_PREFIX_KEY, STR2CSTR(prefix));
558
+ result = memcached_callback_set(mc, MEMCACHED_CALLBACK_PREFIX_KEY, StringValuePtr(prefix));
559
559
  }
560
560
  return prefix;
561
561
  }
data/lib/memcache.rb CHANGED
@@ -201,12 +201,16 @@ class Memcache
201
201
  end
202
202
 
203
203
  def incr(key, amount = 1)
204
+ return decr(key, -amount) if amount < 0
205
+
204
206
  key = key.to_s
205
207
  backup.incr(key, amount) if backup
206
208
  server(key).incr(key, amount)
207
209
  end
208
210
 
209
211
  def decr(key, amount = 1)
212
+ return incr(key, -amount) if amount < 0
213
+
210
214
  key = key.to_s
211
215
  backup.decr(key, amount) if backup
212
216
  server(key).decr(key, amount)
@@ -260,11 +264,10 @@ class Memcache
260
264
  end
261
265
 
262
266
  keys_to_fetch = keys - records.keys
263
- method = opts[:overwrite] ? :set : :add
264
267
  if keys_to_fetch.any?
265
268
  yield(keys_to_fetch).each do |key, value|
266
269
  begin
267
- self.send(method, key, value, opts) unless opts[:disable] or opts[:disable_write]
270
+ set(key, value, {}) unless opts[:disable] or opts[:disable_write]
268
271
  rescue Memcache::Error => e
269
272
  raise if opts[:strict_write]
270
273
  $stderr.puts "Memcache error in get_some: #{e.class} #{e.to_s} on key '#{key}' while storing value: #{value}"
@@ -347,7 +350,7 @@ class Memcache
347
350
  end
348
351
 
349
352
  def self.init(yaml_file = nil)
350
- yaml_file = File.join(Rails.root, 'config', 'memcached.yml')
353
+ yaml_file ||= File.join(Rails.root, 'config', 'memcached.yml')
351
354
 
352
355
  if File.exists?(yaml_file)
353
356
  yaml = YAML.load_file(yaml_file)
@@ -361,7 +364,9 @@ class Memcache
361
364
  else
362
365
  config.each do |connection, opts|
363
366
  opts = defaults.merge(opts.symbolize_keys)
364
- Memcache.pool[connection] = Memcache.new(opts)
367
+ if not opts.empty? and not opts[:disabled]
368
+ Memcache.pool[connection] = Memcache.new(opts)
369
+ end
365
370
  end
366
371
  end
367
372
  end
@@ -421,6 +426,7 @@ protected
421
426
  object
422
427
  rescue Exception => e
423
428
  $stderr.puts "Memcache read error: #{e.class} #{e.to_s} on key '#{key}' while unmarshalling value: #{value}"
429
+ $stderr.puts caller
424
430
  nil
425
431
  end
426
432
 
@@ -1,5 +1,6 @@
1
1
  require 'active_record'
2
2
  require 'memcache/migration'
3
+ require 'pg'
3
4
 
4
5
  class PGconn
5
6
  def self.quote_ident(name)
@@ -36,9 +37,10 @@ class Memcache
36
37
  SELECT key, value FROM #{table}
37
38
  WHERE key IN (#{keys}) AND #{prefix_clause} AND #{expiry_clause}
38
39
  }
40
+
39
41
  results = {}
40
- db.query(sql).each do |key, value|
41
- results[key] = value
42
+ db.query(sql).each do |row|
43
+ results[row['key']] = row['value']
42
44
  end
43
45
  results
44
46
  end
data/memcache.gemspec CHANGED
@@ -1,81 +1,23 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
- # -*- encoding: utf-8 -*-
1
+ lib = File.expand_path('../lib', __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
3
 
6
- Gem::Specification.new do |s|
7
- s.name = %q{memcache}
8
- s.version = "1.2.13"
4
+ Gem::Specification.new do |gem|
5
+ gem.name = "memcache"
6
+ gem.version = IO.read('VERSION')
7
+ gem.authors = ["Justin Balthrop"]
8
+ gem.email = ["git@justinbalthrop.com"]
9
+ gem.description = %q{Ruby client for memcached supporting advanced protocol features and pluggable architecture.}
10
+ gem.summary = gem.description
11
+ gem.homepage = "https://github.com/ninjudd/memcache"
9
12
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Justin Balthrop"]
12
- s.date = %q{2010-08-31}
13
- s.description = %q{Ruby client for memcached supporting advanced protocol features and pluggable architecture.}
14
- s.email = %q{code@justinbalthrop.com}
15
- s.extensions = ["ext/extconf.rb"]
16
- s.extra_rdoc_files = [
17
- "LICENSE",
18
- "README.rdoc"
19
- ]
20
- s.files = [
21
- ".gitignore",
22
- "LICENSE",
23
- "README.rdoc",
24
- "Rakefile",
25
- "VERSION.yml",
26
- "bench/benchmark.rb",
27
- "ext/LICENSE_AFL3",
28
- "ext/extconf.rb",
29
- "ext/libmemcached-0.38.tar.gz",
30
- "ext/native_server.c",
31
- "lib/memcache.rb",
32
- "lib/memcache/base.rb",
33
- "lib/memcache/local_server.rb",
34
- "lib/memcache/migration.rb",
35
- "lib/memcache/null_server.rb",
36
- "lib/memcache/pg_server.rb",
37
- "lib/memcache/segmented.rb",
38
- "lib/memcache/server.rb",
39
- "memcache.gemspec",
40
- "test/memcache_local_server_test.rb",
41
- "test/memcache_native_server_test.rb",
42
- "test/memcache_null_server_test.rb",
43
- "test/memcache_pg_server_test.rb",
44
- "test/memcache_segmented_native_server_test.rb",
45
- "test/memcache_segmented_server_test.rb",
46
- "test/memcache_segmented_test_helper.rb",
47
- "test/memcache_server_test.rb",
48
- "test/memcache_server_test_helper.rb",
49
- "test/memcache_test.rb",
50
- "test/test_helper.rb"
51
- ]
52
- s.homepage = %q{http://github.com/ninjudd/memcache}
53
- s.rdoc_options = ["--charset=UTF-8"]
54
- s.require_paths = ["lib"]
55
- s.rubygems_version = %q{1.3.7}
56
- s.summary = %q{Advanced ruby memcache client}
57
- s.test_files = [
58
- "test/memcache_local_server_test.rb",
59
- "test/memcache_native_server_test.rb",
60
- "test/memcache_null_server_test.rb",
61
- "test/memcache_pg_server_test.rb",
62
- "test/memcache_segmented_native_server_test.rb",
63
- "test/memcache_segmented_server_test.rb",
64
- "test/memcache_segmented_test_helper.rb",
65
- "test/memcache_server_test.rb",
66
- "test/memcache_server_test_helper.rb",
67
- "test/memcache_test.rb",
68
- "test/test_helper.rb"
69
- ]
13
+ gem.add_development_dependency 'rake'
14
+ gem.add_development_dependency 'shoulda', '3.0.1'
15
+ gem.add_development_dependency 'mocha'
16
+ gem.add_development_dependency 'activerecord'
17
+ gem.add_development_dependency 'activerecord-postgresql-adapter'
70
18
 
71
- if s.respond_to? :specification_version then
72
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
73
- s.specification_version = 3
74
-
75
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
76
- else
77
- end
78
- else
79
- end
19
+ gem.files = `git ls-files`.split($/)
20
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
21
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
22
+ gem.require_paths = ["lib"]
80
23
  end
81
-
@@ -1,5 +1,4 @@
1
- require 'test/unit'
2
- require File.dirname(__FILE__) + '/memcache_server_test_helper'
1
+ require 'memcache_server_test_helper'
3
2
 
4
3
  class MemcacheLocalServerTest < Test::Unit::TestCase
5
4
  include MemcacheServerTestHelper
@@ -1,5 +1,4 @@
1
- require 'test/unit'
2
- require File.dirname(__FILE__) + '/memcache_server_test_helper'
1
+ require 'memcache_server_test_helper'
3
2
 
4
3
  class MemcacheNativeServerTest < Test::Unit::TestCase
5
4
  include MemcacheServerTestHelper
@@ -1,6 +1,6 @@
1
1
  require 'test/unit'
2
- require File.dirname(__FILE__) + '/../lib/memcache/base'
3
- require File.dirname(__FILE__) + '/../lib/memcache/null_server'
2
+ require 'memcache/base'
3
+ require 'memcache/null_server'
4
4
 
5
5
  class MemcacheNullServerTest < Test::Unit::TestCase
6
6
  def setup
@@ -1,13 +1,11 @@
1
- require 'test/unit'
2
- require 'rubygems'
3
- require File.dirname(__FILE__) + '/memcache_server_test_helper'
4
- require File.dirname(__FILE__) + '/../lib/memcache/pg_server'
1
+ require 'memcache_server_test_helper'
2
+ require 'memcache/pg_server'
5
3
 
6
4
  class MemcachePGServerTest < Test::Unit::TestCase
7
5
  ActiveRecord::Base.establish_connection(
8
6
  :adapter => "postgresql",
9
7
  :host => "localhost",
10
- :username => "postgres",
8
+ :username => `whoami`.chomp,
11
9
  :password => "",
12
10
  :database => "memcache_test"
13
11
  )
@@ -1,5 +1,5 @@
1
1
  require 'test/unit'
2
- require File.dirname(__FILE__) + '/memcache_server_test_helper'
2
+ require 'memcache_server_test_helper'
3
3
 
4
4
  class MemcacheServerTest < Test::Unit::TestCase
5
5
  include MemcacheServerTestHelper
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/test_helper'
1
+ require 'test_helper'
2
2
 
3
3
  module MemcacheServerTestHelper
4
4
  def test_prefix
@@ -157,6 +157,31 @@ class MemcacheTest < Test::Unit::TestCase
157
157
  end
158
158
  end
159
159
 
160
+ def test_get_some_with_validation
161
+ 100.times do |i|
162
+ m.set(i.to_s, i.odd? ? -i : i)
163
+ end
164
+ keys = (0...100).collect {|key| key.to_s}
165
+
166
+ results = m.get_some(keys, :validation => lambda {|k,v| k.to_i == v}) do |missing_keys|
167
+ assert_equal 50, missing_keys.size
168
+ r = {}
169
+ missing_keys.each do |key|
170
+ r[key] = key.to_i
171
+ end
172
+ r
173
+ end
174
+ assert_equal 100, results.size
175
+
176
+ results.each do |key, value|
177
+ assert_equal key.to_i, value
178
+ end
179
+
180
+ results = m.get_some(keys, :validation => lambda {|k,v| k.to_i == v}) do |missing_keys|
181
+ flunk "no values should be invalid"
182
+ end
183
+ end
184
+
160
185
  def test_get_with_reset_expiry
161
186
  m.add('foo', 'quick brown fox', :expiry => 1)
162
187
  assert_equal 'quick brown fox', m.get('foo', :expiry => 2)
data/test/test_helper.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'rubygems'
2
2
  require 'test/unit'
3
3
  require 'shoulda'
4
- require 'mocha'
4
+ require 'mocha/setup'
5
5
  require 'pp'
6
6
 
7
7
  $LOAD_PATH.unshift(File.dirname(__FILE__) + '/../lib')
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: memcache
3
3
  version: !ruby/object:Gem::Version
4
- hash: 5
5
- prerelease: false
4
+ hash: 27
5
+ prerelease:
6
6
  segments:
7
7
  - 1
8
- - 2
9
- - 13
10
- version: 1.2.13
8
+ - 3
9
+ - 0
10
+ version: 1.3.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Justin Balthrop
@@ -15,29 +15,104 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-08-31 00:00:00 -07:00
18
+ date: 2013-06-03 00:00:00 -07:00
19
19
  default_executable:
20
- dependencies: []
21
-
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: rake
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 3
30
+ segments:
31
+ - 0
32
+ version: "0"
33
+ type: :development
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: shoulda
37
+ prerelease: false
38
+ requirement: &id002 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - "="
42
+ - !ruby/object:Gem::Version
43
+ hash: 5
44
+ segments:
45
+ - 3
46
+ - 0
47
+ - 1
48
+ version: 3.0.1
49
+ type: :development
50
+ version_requirements: *id002
51
+ - !ruby/object:Gem::Dependency
52
+ name: mocha
53
+ prerelease: false
54
+ requirement: &id003 !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ hash: 3
60
+ segments:
61
+ - 0
62
+ version: "0"
63
+ type: :development
64
+ version_requirements: *id003
65
+ - !ruby/object:Gem::Dependency
66
+ name: activerecord
67
+ prerelease: false
68
+ requirement: &id004 !ruby/object:Gem::Requirement
69
+ none: false
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ hash: 3
74
+ segments:
75
+ - 0
76
+ version: "0"
77
+ type: :development
78
+ version_requirements: *id004
79
+ - !ruby/object:Gem::Dependency
80
+ name: activerecord-postgresql-adapter
81
+ prerelease: false
82
+ requirement: &id005 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ">="
86
+ - !ruby/object:Gem::Version
87
+ hash: 3
88
+ segments:
89
+ - 0
90
+ version: "0"
91
+ type: :development
92
+ version_requirements: *id005
22
93
  description: Ruby client for memcached supporting advanced protocol features and pluggable architecture.
23
- email: code@justinbalthrop.com
94
+ email:
95
+ - git@justinbalthrop.com
24
96
  executables: []
25
97
 
26
- extensions:
27
- - ext/extconf.rb
28
- extra_rdoc_files:
29
- - LICENSE
30
- - README.rdoc
98
+ extensions: []
99
+
100
+ extra_rdoc_files: []
101
+
31
102
  files:
32
103
  - .gitignore
104
+ - .rbenv-gemsets
105
+ - .rbenv-version
106
+ - Gemfile
33
107
  - LICENSE
34
108
  - README.rdoc
35
109
  - Rakefile
36
- - VERSION.yml
110
+ - VERSION
37
111
  - bench/benchmark.rb
38
112
  - ext/LICENSE_AFL3
39
113
  - ext/extconf.rb
40
114
  - ext/libmemcached-0.38.tar.gz
115
+ - ext/libmemcached-0.51.tar.gz
41
116
  - ext/native_server.c
42
117
  - lib/memcache.rb
43
118
  - lib/memcache/base.rb
@@ -60,12 +135,12 @@ files:
60
135
  - test/memcache_test.rb
61
136
  - test/test_helper.rb
62
137
  has_rdoc: true
63
- homepage: http://github.com/ninjudd/memcache
138
+ homepage: https://github.com/ninjudd/memcache
64
139
  licenses: []
65
140
 
66
141
  post_install_message:
67
- rdoc_options:
68
- - --charset=UTF-8
142
+ rdoc_options: []
143
+
69
144
  require_paths:
70
145
  - lib
71
146
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -89,10 +164,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
89
164
  requirements: []
90
165
 
91
166
  rubyforge_project:
92
- rubygems_version: 1.3.7
167
+ rubygems_version: 1.5.2
93
168
  signing_key:
94
169
  specification_version: 3
95
- summary: Advanced ruby memcache client
170
+ summary: Ruby client for memcached supporting advanced protocol features and pluggable architecture.
96
171
  test_files:
97
172
  - test/memcache_local_server_test.rb
98
173
  - test/memcache_native_server_test.rb
data/VERSION.yml DELETED
@@ -1,5 +0,0 @@
1
- ---
2
- :minor: 2
3
- :patch: 13
4
- :build:
5
- :major: 1