dalli 1.0.3 → 1.0.4
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of dalli might be problematic. Click here for more details.
- data/History.md +7 -0
- data/LICENSE +1 -1
- data/README.md +2 -2
- data/dalli.gemspec +2 -4
- data/lib/action_dispatch/middleware/session/dalli_store.rbc +1434 -0
- data/lib/active_support/cache/dalli_store.rb +4 -2
- data/lib/active_support/cache/dalli_store.rbc +4061 -0
- data/lib/dalli/client.rb +1 -1
- data/lib/dalli/options.rb +11 -9
- data/lib/dalli/socket.rb +2 -2
- data/lib/dalli/version.rb +1 -1
- data/test/test_active_support.rb +36 -0
- data/test/test_encoding.rb +9 -0
- metadata +105 -105
data/lib/dalli/client.rb
CHANGED
data/lib/dalli/options.rb
CHANGED
@@ -9,36 +9,38 @@ module Dalli
|
|
9
9
|
# Dalli::Server.extend(Dalli::Threadsafe)
|
10
10
|
#
|
11
11
|
module Threadsafe
|
12
|
+
def self.extended(obj)
|
13
|
+
obj.init_threadsafe
|
14
|
+
end
|
15
|
+
|
12
16
|
def request(op, *args)
|
13
|
-
lock.synchronize do
|
17
|
+
@lock.synchronize do
|
14
18
|
super
|
15
19
|
end
|
16
20
|
end
|
17
21
|
|
18
22
|
def alive?
|
19
|
-
lock.synchronize do
|
23
|
+
@lock.synchronize do
|
20
24
|
super
|
21
25
|
end
|
22
26
|
end
|
23
27
|
|
24
28
|
def close
|
25
|
-
lock.synchronize do
|
29
|
+
@lock.synchronize do
|
26
30
|
super
|
27
31
|
end
|
28
32
|
end
|
29
33
|
|
30
34
|
def lock!
|
31
|
-
lock.mon_enter
|
35
|
+
@lock.mon_enter
|
32
36
|
end
|
33
37
|
|
34
38
|
def unlock!
|
35
|
-
lock.mon_exit
|
39
|
+
@lock.mon_exit
|
36
40
|
end
|
37
41
|
|
38
|
-
|
39
|
-
|
40
|
-
@lock ||= Monitor.new
|
42
|
+
def init_threadsafe
|
43
|
+
@lock = Monitor.new
|
41
44
|
end
|
42
|
-
|
43
45
|
end
|
44
46
|
end
|
data/lib/dalli/socket.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
begin
|
2
2
|
require 'kgio'
|
3
|
-
puts "Using kgio socket IO" if defined?($TESTING)
|
3
|
+
puts "Using kgio socket IO" if defined?($TESTING) && $TESTING
|
4
4
|
|
5
5
|
class Dalli::Server::KSocket < Kgio::Socket
|
6
6
|
attr_accessor :options
|
@@ -41,7 +41,7 @@ begin
|
|
41
41
|
|
42
42
|
rescue LoadError
|
43
43
|
|
44
|
-
puts "Using standard socket IO (#{RUBY_DESCRIPTION})" if defined?($TESTING)
|
44
|
+
puts "Using standard socket IO (#{RUBY_DESCRIPTION})" if defined?($TESTING) && $TESTING
|
45
45
|
if defined?(RUBY_ENGINE) && RUBY_ENGINE == 'jruby'
|
46
46
|
|
47
47
|
class Dalli::Server::KSocket < TCPSocket
|
data/lib/dalli/version.rb
CHANGED
data/test/test_active_support.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# encoding: utf-8
|
1
2
|
require 'helper'
|
2
3
|
|
3
4
|
class TestActiveSupport < Test::Unit::TestCase
|
@@ -65,6 +66,27 @@ class TestActiveSupport < Test::Unit::TestCase
|
|
65
66
|
end
|
66
67
|
end
|
67
68
|
end
|
69
|
+
|
70
|
+
should 'support read_multi with an array' do
|
71
|
+
with_activesupport do
|
72
|
+
memcached do
|
73
|
+
connect
|
74
|
+
case
|
75
|
+
when rails3?
|
76
|
+
x = rand_key
|
77
|
+
y = rand_key
|
78
|
+
assert_equal({}, @mc.read_multi([x, y]))
|
79
|
+
assert_equal({}, @dalli.read_multi([x, y]))
|
80
|
+
@dalli.write(x, '123')
|
81
|
+
@dalli.write(y, 123)
|
82
|
+
@mc.write(x, '123')
|
83
|
+
@mc.write(y, 123)
|
84
|
+
assert_equal({ x => '123', y => 123 }, @dalli.read_multi([x, y]))
|
85
|
+
assert_equal({}, @mc.read_multi([x,y]))
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
68
90
|
|
69
91
|
should 'support raw read_multi' do
|
70
92
|
with_activesupport do
|
@@ -164,6 +186,20 @@ class TestActiveSupport < Test::Unit::TestCase
|
|
164
186
|
end
|
165
187
|
end
|
166
188
|
end
|
189
|
+
|
190
|
+
should 'handle crazy characters from far-away lands' do
|
191
|
+
with_activesupport do
|
192
|
+
memcached do
|
193
|
+
connect
|
194
|
+
key = "fooƒ"
|
195
|
+
value = 'bafƒ'
|
196
|
+
# assert_equal true, @mc.write(key, value)
|
197
|
+
assert_equal true, @dalli.write(key, value)
|
198
|
+
# assert_equal true, @mc.read(key, value)
|
199
|
+
assert_equal value, @dalli.read(key)
|
200
|
+
end
|
201
|
+
end
|
202
|
+
end
|
167
203
|
|
168
204
|
def connect
|
169
205
|
@dalli = ActiveSupport::Cache.lookup_store(:dalli_store, 'localhost:19122', :expires_in => 10.seconds, :namespace => 'x')
|
data/test/test_encoding.rb
CHANGED
metadata
CHANGED
@@ -2,61 +2,60 @@
|
|
2
2
|
name: dalli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 1.0.
|
5
|
+
version: 1.0.4
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
|
-
|
8
|
+
- Mike Perham
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-
|
14
|
-
default_executable:
|
13
|
+
date: 2011-05-14 00:00:00 Z
|
15
14
|
dependencies:
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: shoulda
|
17
|
+
prerelease: false
|
18
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
19
|
+
none: false
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: "0"
|
24
|
+
type: :development
|
25
|
+
version_requirements: *id001
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: mocha
|
28
|
+
prerelease: false
|
29
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
30
|
+
none: false
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: "0"
|
35
|
+
type: :development
|
36
|
+
version_requirements: *id002
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: rails
|
39
|
+
prerelease: false
|
40
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ">="
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: "0"
|
46
|
+
type: :development
|
47
|
+
version_requirements: *id003
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: memcache-client
|
50
|
+
prerelease: false
|
51
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
52
|
+
none: false
|
53
|
+
requirements:
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: 1.8.5
|
57
|
+
type: :development
|
58
|
+
version_requirements: *id004
|
60
59
|
description: High performance memcached client for Ruby
|
61
60
|
email: mperham@gmail.com
|
62
61
|
executables: []
|
@@ -66,79 +65,80 @@ extensions: []
|
|
66
65
|
extra_rdoc_files: []
|
67
66
|
|
68
67
|
files:
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
68
|
+
- lib/action_controller/session/dalli_store.rb
|
69
|
+
- lib/action_dispatch/middleware/session/dalli_store.rb
|
70
|
+
- lib/action_dispatch/middleware/session/dalli_store.rbc
|
71
|
+
- lib/active_support/cache/dalli_store.rb
|
72
|
+
- lib/active_support/cache/dalli_store.rbc
|
73
|
+
- lib/active_support/cache/dalli_store23.rb
|
74
|
+
- lib/dalli/client.rb
|
75
|
+
- lib/dalli/compatibility.rb
|
76
|
+
- lib/dalli/memcache-client.rb
|
77
|
+
- lib/dalli/options.rb
|
78
|
+
- lib/dalli/ring.rb
|
79
|
+
- lib/dalli/server.rb
|
80
|
+
- lib/dalli/socket.rb
|
81
|
+
- lib/dalli/version.rb
|
82
|
+
- lib/dalli.rb
|
83
|
+
- LICENSE
|
84
|
+
- README.md
|
85
|
+
- History.md
|
86
|
+
- Rakefile
|
87
|
+
- Gemfile
|
88
|
+
- dalli.gemspec
|
89
|
+
- Performance.md
|
90
|
+
- Upgrade.md
|
91
|
+
- test/abstract_unit.rb
|
92
|
+
- test/benchmark_test.rb
|
93
|
+
- test/helper.rb
|
94
|
+
- test/memcached_mock.rb
|
95
|
+
- test/test_active_support.rb
|
96
|
+
- test/test_compatibility.rb
|
97
|
+
- test/test_dalli.rb
|
98
|
+
- test/test_encoding.rb
|
99
|
+
- test/test_failover.rb
|
100
|
+
- test/test_network.rb
|
101
|
+
- test/test_ring.rb
|
102
|
+
- test/test_sasl.rb
|
103
|
+
- test/test_session_store.rb
|
104
104
|
homepage: http://github.com/mperham/dalli
|
105
105
|
licenses: []
|
106
106
|
|
107
107
|
post_install_message:
|
108
108
|
rdoc_options:
|
109
|
-
|
109
|
+
- --charset=UTF-8
|
110
110
|
require_paths:
|
111
|
-
|
111
|
+
- lib
|
112
112
|
required_ruby_version: !ruby/object:Gem::Requirement
|
113
113
|
none: false
|
114
114
|
requirements:
|
115
|
-
|
116
|
-
|
117
|
-
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: "0"
|
118
118
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
119
119
|
none: false
|
120
120
|
requirements:
|
121
|
-
|
122
|
-
|
123
|
-
|
121
|
+
- - ">="
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: "0"
|
124
124
|
requirements: []
|
125
125
|
|
126
126
|
rubyforge_project:
|
127
|
-
rubygems_version: 1.
|
127
|
+
rubygems_version: 1.7.2
|
128
128
|
signing_key:
|
129
129
|
specification_version: 3
|
130
130
|
summary: High performance memcached client for Ruby
|
131
131
|
test_files:
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
132
|
+
- test/abstract_unit.rb
|
133
|
+
- test/benchmark_test.rb
|
134
|
+
- test/helper.rb
|
135
|
+
- test/memcached_mock.rb
|
136
|
+
- test/test_active_support.rb
|
137
|
+
- test/test_compatibility.rb
|
138
|
+
- test/test_dalli.rb
|
139
|
+
- test/test_encoding.rb
|
140
|
+
- test/test_failover.rb
|
141
|
+
- test/test_network.rb
|
142
|
+
- test/test_ring.rb
|
143
|
+
- test/test_sasl.rb
|
144
|
+
- test/test_session_store.rb
|