memcached 0.15.2 → 0.15.3
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.tar.gz.sig +0 -0
- data/CHANGELOG +2 -0
- data/Manifest +0 -1
- data/lib/memcached/behaviors.rb +1 -1
- data/lib/memcached/memcached.rb +10 -3
- data/memcached.gemspec +6 -5
- data/test/setup.rb +11 -4
- data/test/unit/memcached_test.rb +10 -8
- metadata +5 -7
- metadata.gz.sig +1 -1
data.tar.gz.sig
CHANGED
Binary file
|
data/CHANGELOG
CHANGED
data/Manifest
CHANGED
data/lib/memcached/behaviors.rb
CHANGED
@@ -44,7 +44,7 @@ class Memcached
|
|
44
44
|
case behavior
|
45
45
|
when :hash then raise(ArgumentError, msg) unless HASH_VALUES[value]
|
46
46
|
when :distribution then raise(ArgumentError, msg) unless DISTRIBUTION_VALUES[value]
|
47
|
-
when *DIRECT_VALUE_BEHAVIORS then raise(ArgumentError, msg) unless value.is_a?(Numeric) and value
|
47
|
+
when *DIRECT_VALUE_BEHAVIORS then raise(ArgumentError, msg) unless value.is_a?(Numeric) and value >= 0
|
48
48
|
else
|
49
49
|
raise(ArgumentError, msg) unless BEHAVIOR_VALUES[value]
|
50
50
|
end
|
data/lib/memcached/memcached.rb
CHANGED
@@ -418,13 +418,20 @@ Please note that when pipelining is enabled, setter and deleter methods do not r
|
|
418
418
|
|
419
419
|
# Set the servers on the struct.
|
420
420
|
def set_servers(servers)
|
421
|
-
add_method = options[:use_udp] ? "memcached_server_add_udp_with_weight" : "memcached_server_add_with_weight"
|
422
421
|
Array(servers).each_with_index do |server, index|
|
422
|
+
# Socket
|
423
423
|
if server.is_a?(String) and File.socket?(server)
|
424
|
-
|
424
|
+
args = [@struct, server, options[:default_weight].to_i]
|
425
|
+
check_return_code(Lib.memcached_server_add_unix_socket_with_weight(*args))
|
426
|
+
# Network
|
425
427
|
elsif server.is_a?(String) and server =~ /^[\w\d\.-]+(:\d{1,5}){0,2}$/
|
426
428
|
host, port, weight = server.split(":")
|
427
|
-
|
429
|
+
args = [@struct, host, port.to_i, (weight || options[:default_weight]).to_i]
|
430
|
+
if options[:use_udp] #
|
431
|
+
check_return_code(Lib.memcached_server_add_udp_with_weight(*args))
|
432
|
+
else
|
433
|
+
check_return_code(Lib.memcached_server_add_with_weight(*args))
|
434
|
+
end
|
428
435
|
else
|
429
436
|
raise ArgumentError, "Servers must be either in the format 'host:port[:weight]' (e.g., 'localhost:11211' or 'localhost:11211:10') for a network server, or a valid path to a Unix domain socket (e.g., /var/run/memcached)."
|
430
437
|
end
|
data/memcached.gemspec
CHANGED
@@ -2,29 +2,30 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{memcached}
|
5
|
-
s.version = "0.15.
|
5
|
+
s.version = "0.15.3"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Evan Weaver"]
|
9
9
|
s.cert_chain = ["/Users/eweaver/p/configuration/gem_certificates/evan_weaver-original-public_cert.pem"]
|
10
|
-
s.date = %q{2009-08-
|
10
|
+
s.date = %q{2009-08-07}
|
11
11
|
s.description = %q{An interface to the libmemcached C client.}
|
12
12
|
s.email = %q{}
|
13
13
|
s.extensions = ["ext/extconf.rb"]
|
14
14
|
s.extra_rdoc_files = ["BENCHMARKS", "CHANGELOG", "COMPATIBILITY", "lib/memcached/behaviors.rb", "lib/memcached/exceptions.rb", "lib/memcached/memcached.rb", "lib/memcached/rails.rb", "lib/memcached.rb", "LICENSE", "README", "TODO"]
|
15
|
-
s.files = ["BENCHMARKS", "CHANGELOG", "COMPATIBILITY", "ext/extconf.rb", "ext/libmemcached-0.31.tar.gz", "ext/rlibmemcached.i", "ext/rlibmemcached_wrap.c", "lib/memcached/behaviors.rb", "lib/memcached/exceptions.rb", "lib/memcached/integer.rb", "lib/memcached/memcached.rb", "lib/memcached/rails.rb", "lib/memcached.rb", "LICENSE", "Manifest", "
|
15
|
+
s.files = ["BENCHMARKS", "CHANGELOG", "COMPATIBILITY", "ext/extconf.rb", "ext/libmemcached-0.31.tar.gz", "ext/rlibmemcached.i", "ext/rlibmemcached_wrap.c", "lib/memcached/behaviors.rb", "lib/memcached/exceptions.rb", "lib/memcached/integer.rb", "lib/memcached/memcached.rb", "lib/memcached/rails.rb", "lib/memcached.rb", "LICENSE", "Manifest", "Rakefile", "README", "test/profile/benchmark.rb", "test/profile/profile.rb", "test/profile/valgrind.rb", "test/setup.rb", "test/teardown.rb", "test/test_helper.rb", "test/unit/binding_test.rb", "test/unit/memcached_test.rb", "test/unit/rails_test.rb", "TODO", "memcached.gemspec"]
|
16
|
+
s.has_rdoc = true
|
16
17
|
s.homepage = %q{http://blog.evanweaver.com/files/doc/fauna/memcached/}
|
17
18
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Memcached", "--main", "README"]
|
18
19
|
s.require_paths = ["lib", "ext"]
|
19
20
|
s.rubyforge_project = %q{fauna}
|
20
|
-
s.rubygems_version = %q{1.3.
|
21
|
+
s.rubygems_version = %q{1.3.1}
|
21
22
|
s.signing_key = %q{/Users/eweaver/p/configuration/gem_certificates/evan_weaver-original-private_key.pem}
|
22
23
|
s.summary = %q{An interface to the libmemcached C client.}
|
23
24
|
s.test_files = ["test/test_helper.rb", "test/unit/binding_test.rb", "test/unit/memcached_test.rb", "test/unit/rails_test.rb"]
|
24
25
|
|
25
26
|
if s.respond_to? :specification_version then
|
26
27
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
27
|
-
s.specification_version =
|
28
|
+
s.specification_version = 2
|
28
29
|
|
29
30
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
30
31
|
else
|
data/test/setup.rb
CHANGED
@@ -11,12 +11,19 @@ unless defined? UNIX_SOCKET_NAME
|
|
11
11
|
log = "/tmp/memcached.log"
|
12
12
|
system ">#{log}"
|
13
13
|
|
14
|
-
#
|
14
|
+
# TCP memcached
|
15
15
|
(43042..43046).each do |port|
|
16
|
-
|
17
|
-
|
16
|
+
cmd = "memcached #{verbosity} -U 0 -p #{port} >> #{log} 2>&1 &"
|
17
|
+
raise "'#{cmd}' failed to start" unless system(cmd)
|
18
|
+
end
|
19
|
+
# UDP memcached
|
20
|
+
(43052..43053).each do |port|
|
21
|
+
cmd = "memcached #{verbosity} -U #{port} -p 0 >> #{log} 2>&1 &"
|
22
|
+
raise "'#{cmd}' failed to start" unless system(cmd)
|
23
|
+
end
|
18
24
|
# Domain socket memcached
|
19
25
|
(0..1).each do |i|
|
20
|
-
|
26
|
+
cmd = "memcached -M -s #{UNIX_SOCKET_NAME}#{i} #{verbosity} >> #{log} 2>&1 &"
|
27
|
+
raise "'#{cmd}' failed to start" unless system(cmd)
|
21
28
|
end
|
22
29
|
end
|
data/test/unit/memcached_test.rb
CHANGED
@@ -8,6 +8,7 @@ class MemcachedTest < Test::Unit::TestCase
|
|
8
8
|
|
9
9
|
def setup
|
10
10
|
@servers = ['localhost:43042', 'localhost:43043', "#{UNIX_SOCKET_NAME}0"]
|
11
|
+
@udp_servers = ['localhost:43052', 'localhost:43053']
|
11
12
|
|
12
13
|
# Maximum allowed prefix key size for :hash_with_prefix_key_key => false
|
13
14
|
@prefix_key = 'prefix_key_'
|
@@ -22,10 +23,10 @@ class MemcachedTest < Test::Unit::TestCase
|
|
22
23
|
@udp_options = {
|
23
24
|
:prefix_key => @prefix_key,
|
24
25
|
:hash => :default,
|
25
|
-
:
|
26
|
+
:use_udp => true,
|
26
27
|
:distribution => :modula
|
27
28
|
}
|
28
|
-
@udp_cache = Memcached.new(@
|
29
|
+
@udp_cache = Memcached.new(@udp_servers, @udp_options)
|
29
30
|
|
30
31
|
@nb_options = {
|
31
32
|
:prefix_key => @prefix_key,
|
@@ -218,13 +219,14 @@ class MemcachedTest < Test::Unit::TestCase
|
|
218
219
|
result = @cache.get key
|
219
220
|
assert_equal @value, result
|
220
221
|
end
|
221
|
-
|
222
|
-
def test_udp_get
|
223
|
-
@udp_cache.set key, @value
|
224
|
-
result = @udp_cache.get key
|
225
|
-
assert_equal @value, result
|
226
|
-
end
|
227
222
|
|
223
|
+
def test_udp_get
|
224
|
+
@udp_cache.set(key, @value)
|
225
|
+
assert_raises(Memcached::ActionNotSupported) do
|
226
|
+
@udp_cache.get(key)
|
227
|
+
end
|
228
|
+
end
|
229
|
+
|
228
230
|
def test_get_nil
|
229
231
|
@cache.set key, nil, 0
|
230
232
|
result = @cache.get key
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: memcached
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.15.
|
4
|
+
version: 0.15.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Evan Weaver
|
@@ -30,7 +30,7 @@ cert_chain:
|
|
30
30
|
yZ0=
|
31
31
|
-----END CERTIFICATE-----
|
32
32
|
|
33
|
-
date: 2009-08-
|
33
|
+
date: 2009-08-07 00:00:00 -07:00
|
34
34
|
default_executable:
|
35
35
|
dependencies: []
|
36
36
|
|
@@ -68,7 +68,6 @@ files:
|
|
68
68
|
- lib/memcached.rb
|
69
69
|
- LICENSE
|
70
70
|
- Manifest
|
71
|
-
- memcached.gemspec
|
72
71
|
- Rakefile
|
73
72
|
- README
|
74
73
|
- test/profile/benchmark.rb
|
@@ -81,10 +80,9 @@ files:
|
|
81
80
|
- test/unit/memcached_test.rb
|
82
81
|
- test/unit/rails_test.rb
|
83
82
|
- TODO
|
83
|
+
- memcached.gemspec
|
84
84
|
has_rdoc: true
|
85
85
|
homepage: http://blog.evanweaver.com/files/doc/fauna/memcached/
|
86
|
-
licenses: []
|
87
|
-
|
88
86
|
post_install_message:
|
89
87
|
rdoc_options:
|
90
88
|
- --line-numbers
|
@@ -111,9 +109,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
111
109
|
requirements: []
|
112
110
|
|
113
111
|
rubyforge_project: fauna
|
114
|
-
rubygems_version: 1.3.
|
112
|
+
rubygems_version: 1.3.1
|
115
113
|
signing_key:
|
116
|
-
specification_version:
|
114
|
+
specification_version: 2
|
117
115
|
summary: An interface to the libmemcached C client.
|
118
116
|
test_files:
|
119
117
|
- test/test_helper.rb
|
metadata.gz.sig
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
<�[({�+��I~�P��ܧ�I+�:���twݕq��b�g� �Ծ�݃�a%+����A���b9��qUcQ������=�2wF�rQ<��X:�����q�BLB\t*J�����c���;(��u��~tBs�7_����wg㣏?@�RČ-A3���8d�#<2Ʌ�`����X!Ӓ|�C�����q-,��?���B�r�pL����i�AQ-����0ɗ�cjc��Ȧ��4�9����R�c����0�W
|