memcache_mock 0.0.9 → 0.0.11
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/lib/memcache_mock.rb +13 -2
- data/lib/memcache_mock/version.rb +1 -1
- data/memcache_mock.gemspec +1 -1
- data/test/memcache_mock_test.rb +25 -2
- metadata +9 -15
data/lib/memcache_mock.rb
CHANGED
@@ -17,7 +17,8 @@ class MemcacheMock
|
|
17
17
|
@values.fetch(key, nil)
|
18
18
|
end
|
19
19
|
|
20
|
-
def get_multi( keys )
|
20
|
+
def get_multi( *keys )
|
21
|
+
keys.flatten!
|
21
22
|
@values.select { |k, v| keys.include?( k ) }
|
22
23
|
end
|
23
24
|
|
@@ -34,11 +35,21 @@ class MemcacheMock
|
|
34
35
|
@values[key] += value
|
35
36
|
end
|
36
37
|
end
|
37
|
-
|
38
|
+
|
38
39
|
def delete(key)
|
39
40
|
@values.delete(key)
|
40
41
|
end
|
41
42
|
|
43
|
+
def fetch( key, ttl=nil, options=nil )
|
44
|
+
val = get( key )
|
45
|
+
|
46
|
+
if val.nil? && block_given?
|
47
|
+
val = yield
|
48
|
+
set( key, val )
|
49
|
+
end
|
50
|
+
val
|
51
|
+
end
|
52
|
+
|
42
53
|
def flush
|
43
54
|
@values.clear
|
44
55
|
end
|
data/memcache_mock.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
19
|
s.require_paths = ["lib"]
|
20
20
|
|
21
|
-
s.add_development_dependency "bundler", "1.0.21"
|
21
|
+
s.add_development_dependency "bundler", ">= 1.0.21"
|
22
22
|
s.add_development_dependency "rake", "0.9.2.2"
|
23
23
|
s.add_development_dependency "mocha", "0.10.0"
|
24
24
|
end
|
data/test/memcache_mock_test.rb
CHANGED
@@ -43,6 +43,16 @@ class MemcacheMockTest < Test::Unit::TestCase
|
|
43
43
|
assert_equal( nil, result["key4"] )
|
44
44
|
end
|
45
45
|
|
46
|
+
def test_get_multi_splat_args
|
47
|
+
@cache.set( "key1", "value1" )
|
48
|
+
@cache.set( "key2", "value2" )
|
49
|
+
|
50
|
+
result = @cache.get_multi("key1", "key2")
|
51
|
+
|
52
|
+
assert_equal( "value1", result["key1"] )
|
53
|
+
assert_equal( "value2", result["key2"] )
|
54
|
+
end
|
55
|
+
|
46
56
|
def test_set
|
47
57
|
@cache.set( "key", "value" )
|
48
58
|
assert_equal( "value", @cache.get( "key" ) )
|
@@ -55,16 +65,29 @@ class MemcacheMockTest < Test::Unit::TestCase
|
|
55
65
|
assert_equal( "value1|value2", @cache.get( "key" ) )
|
56
66
|
end
|
57
67
|
|
68
|
+
def test_fetch
|
69
|
+
assert_equal( nil, @cache.fetch( "key0" ) )
|
70
|
+
|
71
|
+
@cache.set( "key1", "value1" )
|
72
|
+
assert_equal( "value1", @cache.fetch( "key1" ) )
|
73
|
+
|
74
|
+
assert_equal( "value1", @cache.fetch( "key1" ) { "value2" } )
|
75
|
+
assert_equal( "value2", @cache.fetch( "key2" ) { "value2" } )
|
76
|
+
|
77
|
+
@cache.fetch( "key3" ) { "value3" }
|
78
|
+
assert_equal( "value3", @cache.get( "key3" ) )
|
79
|
+
end
|
80
|
+
|
58
81
|
def test_flush
|
59
82
|
@cache.set( "key", "value1" )
|
60
83
|
@cache.flush
|
61
84
|
assert_equal( nil, @cache.get( "key" ) )
|
62
85
|
end
|
63
|
-
|
86
|
+
|
64
87
|
def test_delete
|
65
88
|
@cache.set( "key", "value1" )
|
66
89
|
assert_equal( "value1", @cache.get( "key" ) )
|
67
90
|
@cache.delete( "key" )
|
68
91
|
assert_nil( @cache.get( "key" ) )
|
69
92
|
end
|
70
|
-
end
|
93
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: memcache_mock
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.11
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,22 +10,22 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-11-20 00:00:00.000000000Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bundler
|
17
|
-
requirement: &
|
17
|
+
requirement: &70282321103440 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
|
-
- -
|
20
|
+
- - ! '>='
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: 1.0.21
|
23
23
|
type: :development
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *70282321103440
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: rake
|
28
|
-
requirement: &
|
28
|
+
requirement: &70282321102940 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - =
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: 0.9.2.2
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *70282321102940
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: mocha
|
39
|
-
requirement: &
|
39
|
+
requirement: &70282321102480 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - =
|
@@ -44,7 +44,7 @@ dependencies:
|
|
44
44
|
version: 0.10.0
|
45
45
|
type: :development
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *70282321102480
|
48
48
|
description: Simple key/value mocked storage system
|
49
49
|
email:
|
50
50
|
- fguillen.mail@gmail.com
|
@@ -76,18 +76,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
76
76
|
- - ! '>='
|
77
77
|
- !ruby/object:Gem::Version
|
78
78
|
version: '0'
|
79
|
-
segments:
|
80
|
-
- 0
|
81
|
-
hash: 2848083593305837614
|
82
79
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
83
80
|
none: false
|
84
81
|
requirements:
|
85
82
|
- - ! '>='
|
86
83
|
- !ruby/object:Gem::Version
|
87
84
|
version: '0'
|
88
|
-
segments:
|
89
|
-
- 0
|
90
|
-
hash: 2848083593305837614
|
91
85
|
requirements: []
|
92
86
|
rubyforge_project: memcache_mock
|
93
87
|
rubygems_version: 1.8.15
|