memcache 1.2.13 → 1.3.0

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/.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