aub-cache_advance 1.1.1 → 1.1.2
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 +3 -0
- data/CHANGELOG +8 -0
- data/Rakefile +14 -54
- data/VERSION +1 -0
- data/lib/cache_advance.rb +3 -5
- data/lib/cache_advance/active_record_sweeper.rb +1 -1
- data/lib/cache_advance/cache_set.rb +2 -0
- data/lib/cache_advance/lock.rb +2 -2
- data/lib/cache_advance/mapper.rb +3 -0
- data/lib/cache_advance/named_cache.rb +1 -1
- data/test/active_record_sweeper_test.rb +2 -2
- data/test/cache_mock.rb +12 -6
- data/test/cache_set_test.rb +2 -1
- data/test/key_test.rb +41 -0
- data/test/mapper_test.rb +2 -1
- data/test/named_cache_test.rb +3 -100
- metadata +16 -17
- data/cache_advance.gemspec +0 -24
- data/test/spec/db/schema.rb +0 -18
- data/test/spec/mapper_spec.rb +0 -16
- data/test/spec/mocks/memcache.rb +0 -41
- data/test/spec/spec_helper.rb +0 -30
data/.gitignore
ADDED
data/CHANGELOG
ADDED
data/Rakefile
CHANGED
@@ -1,62 +1,22 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'rake'
|
3
3
|
require 'rake/testtask'
|
4
|
-
require 'rake/rdoctask'
|
5
|
-
require 'rake/gempackagetask'
|
6
|
-
require 'date'
|
7
4
|
|
8
|
-
|
9
|
-
task :default => :test
|
5
|
+
FileList['tasks/**/*.rake'].each { |file| load file }
|
10
6
|
|
11
|
-
|
12
|
-
Rake::TestTask.new(:test) do |t|
|
13
|
-
t.libs << 'lib'
|
14
|
-
t.pattern = 'test/**/*_test.rb'
|
15
|
-
t.verbose = true
|
16
|
-
end
|
17
|
-
|
18
|
-
desc 'Generate documentation for the system.'
|
19
|
-
Rake::RDocTask.new(:rdoc) do |rdoc|
|
20
|
-
rdoc.rdoc_dir = 'rdoc'
|
21
|
-
rdoc.title = 'Cache Advance'
|
22
|
-
rdoc.options << '--line-numbers' << '--inline-source' << "--main" << "README.textile"
|
23
|
-
rdoc.rdoc_files.include('README.textile')
|
24
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
25
|
-
end
|
26
|
-
|
27
|
-
spec = Gem::Specification.new do |s|
|
28
|
-
s.name = %q{cache_advance}
|
29
|
-
s.version = "1.0.0"
|
30
|
-
s.summary = %q{A system for spiffy declarative caching}
|
31
|
-
s.description = %q{A system for spiffy declarative caching}
|
32
|
-
s.homepage = 'http://github.com/aub/cache_advance'
|
33
|
-
|
34
|
-
s.files = FileList['[A-Z]*', 'lib/**/*.rb', 'rails/**/*.rb', 'test/**/*.rb']
|
35
|
-
s.require_path = 'lib'
|
36
|
-
s.test_files = Dir[*['test/**/*_test.rb']]
|
37
|
-
|
38
|
-
s.has_rdoc = true
|
39
|
-
s.extra_rdoc_files = ["README.textile"]
|
40
|
-
s.rdoc_options = ['--line-numbers', '--inline-source', "--main", "README.textile"]
|
41
|
-
|
42
|
-
s.authors = ["Aubrey Holland"]
|
43
|
-
s.email = %q{aubrey@patch.com}
|
7
|
+
task :default => 'test'
|
44
8
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
desc "Clean files generated by rake tasks"
|
55
|
-
task :clobber => [:clobber_rdoc, :clobber_package]
|
56
|
-
|
57
|
-
desc "Generate a gemspec file"
|
58
|
-
task :gemspec do
|
59
|
-
File.open("#{spec.name}.gemspec", 'w') do |f|
|
60
|
-
f.write spec.to_ruby
|
9
|
+
begin
|
10
|
+
require 'jeweler'
|
11
|
+
Jeweler::Tasks.new do |gemspec|
|
12
|
+
gemspec.name = 'cache_advance'
|
13
|
+
gemspec.summary = 'A declarative system for caching with ActiveRecord'
|
14
|
+
gemspec.email = 'aubreyholland@gmail.com'
|
15
|
+
gemspec.homepage = 'http://github.com/aub/cache_advance/tree/master'
|
16
|
+
gemspec.description = 'hmm'
|
17
|
+
gemspec.authors = ['Aubrey Holland']
|
61
18
|
end
|
19
|
+
rescue LoadError
|
20
|
+
puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
|
62
21
|
end
|
22
|
+
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
1.1.2
|
data/lib/cache_advance.rb
CHANGED
@@ -1,8 +1,6 @@
|
|
1
|
-
|
2
|
-
require 'cache_advance
|
3
|
-
|
4
|
-
require 'cache_advance/named_cache'
|
5
|
-
require 'cache_advance/named_cache_configuration'
|
1
|
+
%w( cache_set cached_key_list lock mapper named_cache named_cache_configuration).each do |file|
|
2
|
+
require File.join(File.dirname(__FILE__), 'cache_advance', file)
|
3
|
+
end
|
6
4
|
|
7
5
|
module CacheAdvance
|
8
6
|
class UnknownNamedCacheException < Exception; end
|
@@ -13,6 +13,7 @@ module CacheAdvance
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def apply(cache_name, request, options, &block)
|
16
|
+
cache_name = cache_name.to_sym
|
16
17
|
if CacheAdvance.caching_enabled
|
17
18
|
named_cache = @named_caches[cache_name]
|
18
19
|
raise UnknownNamedCacheException if named_cache.nil?
|
@@ -31,6 +32,7 @@ module CacheAdvance
|
|
31
32
|
end
|
32
33
|
|
33
34
|
def add_named_cache(name, options)
|
35
|
+
name = name.to_sym
|
34
36
|
@named_caches[name] = NamedCache.new(name, options, self, @store)
|
35
37
|
end
|
36
38
|
|
data/lib/cache_advance/lock.rb
CHANGED
data/lib/cache_advance/mapper.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require File.dirname(__FILE__)
|
1
|
+
require File.join(File.dirname(__FILE__), 'test_helper.rb')
|
2
2
|
|
3
3
|
require 'cache_advance/active_record_sweeper'
|
4
4
|
|
@@ -24,7 +24,7 @@ class ActiveRecordSweeperTest < Test::Unit::TestCase
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def test_should_expire_caches_on_changes
|
27
|
-
CacheAdvance
|
27
|
+
CacheAdvance.cache_set.expects(:expire_for_class).with(:publication).times(3)
|
28
28
|
%w(after_create after_update after_destroy).each do |method|
|
29
29
|
@sweeper.send(method, Publication.new)
|
30
30
|
end
|
data/test/cache_mock.rb
CHANGED
@@ -1,15 +1,21 @@
|
|
1
1
|
module CacheAdvance
|
2
2
|
class CacheMock
|
3
|
-
def
|
4
|
-
|
3
|
+
def initialize
|
4
|
+
@values = {}
|
5
|
+
end
|
6
|
+
|
7
|
+
def get(key)
|
8
|
+
@values[key]
|
5
9
|
end
|
6
10
|
|
7
|
-
def
|
8
|
-
|
11
|
+
def set(key, value, options={})
|
12
|
+
result = @values.has_key?(key) ? @values[key] : "STORED\r\n"
|
13
|
+
@values[key] = value
|
14
|
+
result
|
9
15
|
end
|
10
16
|
|
11
17
|
def delete(key)
|
12
|
-
|
18
|
+
@values[key] = nil
|
13
19
|
end
|
14
20
|
end
|
15
|
-
end
|
21
|
+
end
|
data/test/cache_set_test.rb
CHANGED
@@ -6,7 +6,8 @@ require 'cache_advance/active_record_sweeper'
|
|
6
6
|
|
7
7
|
class CacheSetTest < Test::Unit::TestCase
|
8
8
|
def setup
|
9
|
-
@
|
9
|
+
@cache = CacheAdvance::CacheMock.new
|
10
|
+
@cache_set = CacheAdvance::CacheSet.new(@cache)
|
10
11
|
end
|
11
12
|
|
12
13
|
def test_define_caches_should_yield_a_mapper
|
data/test/key_test.rb
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'test_helper')
|
2
|
+
|
3
|
+
class KeyTest < Test::Unit::TestCase
|
4
|
+
|
5
|
+
def setup
|
6
|
+
@cache = CacheAdvance::CacheMock.new
|
7
|
+
@cache_set = CacheAdvance::CacheSet.new(@cache)
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_should_symbolize_the_cache_name
|
11
|
+
@cache_set.add_named_cache('booya', {})
|
12
|
+
assert_nothing_raised do
|
13
|
+
@cache_set.apply(:booya, nil, :key => 'abc') do
|
14
|
+
'123'
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_should_symbolize_the_cache_name_when_using_it
|
20
|
+
@cache_set.add_named_cache(:booya, {})
|
21
|
+
assert_nothing_raised do
|
22
|
+
@cache_set.apply('booya', nil, :key => 'abc') do
|
23
|
+
'123'
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_should_remove_whitespace_from_the_key
|
29
|
+
@cache_set.add_named_cache(:booya, {})
|
30
|
+
result = @cache_set.apply(:booya, nil, :key => 'abc def') do
|
31
|
+
'123'
|
32
|
+
end
|
33
|
+
assert_equal '123', @cache.get('booya/abcdef/[]')
|
34
|
+
assert_equal '123', result
|
35
|
+
@cache.set('booya/abcdef/[]', '234')
|
36
|
+
result = @cache_set.apply(:booya, nil, :key => 'abc def') do
|
37
|
+
'123'
|
38
|
+
end
|
39
|
+
assert_equal '234', result
|
40
|
+
end
|
41
|
+
end
|
data/test/mapper_test.rb
CHANGED
data/test/named_cache_test.rb
CHANGED
@@ -8,8 +8,8 @@ class NamedCacheTest < Test::Unit::TestCase
|
|
8
8
|
|
9
9
|
def test_key_for_in_basic_case
|
10
10
|
create_named_cache
|
11
|
-
assert_equal 'test_cache', @named_cache.key_for
|
12
|
-
assert_equal '
|
11
|
+
assert_equal 'test_cache//[]', @named_cache.send(:key_for, @request)
|
12
|
+
assert_equal 'test_cache/suf/[]', @named_cache.send(:key_for, @request, 'suf')
|
13
13
|
end
|
14
14
|
|
15
15
|
def test_key_with_qualifiers
|
@@ -21,106 +21,9 @@ class NamedCacheTest < Test::Unit::TestCase
|
|
21
21
|
def create_named_cache(options={})
|
22
22
|
@name = options[:name] || 'test_cache'
|
23
23
|
@params = {}
|
24
|
-
@cache_set = CacheAdvance::CacheSet.new
|
25
24
|
@cache = CacheAdvance::CacheMock.new
|
25
|
+
@cache_set = CacheAdvance::CacheSet.new(@cache)
|
26
26
|
@named_cache = CacheAdvance::NamedCache.new(@name, @params, @cache_set, @cache)
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
|
-
|
31
|
-
# module CacheAdvance
|
32
|
-
# class NamedCache
|
33
|
-
# STORED_KEY = 'STORED_CACHES'
|
34
|
-
#
|
35
|
-
# def initialize(name, params, configuration, cache)
|
36
|
-
# @name = name.to_s
|
37
|
-
# @params = params
|
38
|
-
# @configuration = configuration
|
39
|
-
# @cache = cache
|
40
|
-
# end
|
41
|
-
#
|
42
|
-
# def key_for(request, suffix='')
|
43
|
-
# key = @name.dup
|
44
|
-
# key << suffix.to_s
|
45
|
-
#
|
46
|
-
# qualifiers.each do |q|
|
47
|
-
# if (qualifier = @configuration.qualifiers[q])
|
48
|
-
# this_one = qualifier.call(request)
|
49
|
-
# key << this_one.to_s unless this_one.nil?
|
50
|
-
# end
|
51
|
-
# end if qualifiers
|
52
|
-
# key
|
53
|
-
# end
|
54
|
-
#
|
55
|
-
# def value_for(request, options, &block)
|
56
|
-
# key = key_for(request, options[:key])
|
57
|
-
#
|
58
|
-
# if (cache = @cache.read(key))
|
59
|
-
# call_plugins('after_read', key, request)
|
60
|
-
# return cache
|
61
|
-
# end
|
62
|
-
#
|
63
|
-
# call_plugins('before_write', key, request)
|
64
|
-
# result = block.call
|
65
|
-
# @cache.write(key, result, rails_options)
|
66
|
-
# call_plugins('after_write', key, request)
|
67
|
-
#
|
68
|
-
# add_to_cached_keys_list(key)
|
69
|
-
#
|
70
|
-
# result
|
71
|
-
# end
|
72
|
-
#
|
73
|
-
# def rails_options
|
74
|
-
# options = {}
|
75
|
-
# options[:expires_in] = expiration_time if expiration_time
|
76
|
-
# options
|
77
|
-
# end
|
78
|
-
#
|
79
|
-
# def expire_for(type)
|
80
|
-
# if expiration_types.include?(type)
|
81
|
-
# expire_all
|
82
|
-
# end
|
83
|
-
# end
|
84
|
-
#
|
85
|
-
# def expire_all
|
86
|
-
# if (data = @cache.read(@name + STORED_KEY))
|
87
|
-
# data = Array(Marshal.load(data))
|
88
|
-
# data.each { |key| @cache.delete(key) }
|
89
|
-
# else
|
90
|
-
# @cache.delete(@name)
|
91
|
-
# end
|
92
|
-
# end
|
93
|
-
#
|
94
|
-
# def expiration_types
|
95
|
-
# Array(@params[:expiration_types])
|
96
|
-
# end
|
97
|
-
#
|
98
|
-
# def expiration_time
|
99
|
-
# @params[:expiration_time]
|
100
|
-
# end
|
101
|
-
#
|
102
|
-
# def qualifiers
|
103
|
-
# Array(@params[:qualifiers])
|
104
|
-
# end
|
105
|
-
#
|
106
|
-
# protected
|
107
|
-
#
|
108
|
-
# def call_plugins(method, key, request)
|
109
|
-
# @configuration.plugins.each { |p| p.send(method, @name, key, request) if p.respond_to?(method) }
|
110
|
-
# end
|
111
|
-
#
|
112
|
-
# def add_to_cached_keys_list(key)
|
113
|
-
# unless expiration_types.blank? || key == @name
|
114
|
-
# if (data = @cache.read(@name + STORED_KEY))
|
115
|
-
# data = Array(Marshal.load(data))
|
116
|
-
# else
|
117
|
-
# data = []
|
118
|
-
# end
|
119
|
-
# unless data.include?(key)
|
120
|
-
# @cache.write(@name + STORED_KEY, Marshal.dump(data << key))
|
121
|
-
# end
|
122
|
-
# end
|
123
|
-
# end
|
124
|
-
# end
|
125
|
-
# end
|
126
|
-
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aub-cache_advance
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aubrey Holland
|
@@ -9,12 +9,12 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-05-26 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|
16
|
-
description:
|
17
|
-
email:
|
16
|
+
description: hmm
|
17
|
+
email: aubreyholland@gmail.com
|
18
18
|
executables: []
|
19
19
|
|
20
20
|
extensions: []
|
@@ -22,10 +22,12 @@ extensions: []
|
|
22
22
|
extra_rdoc_files:
|
23
23
|
- README.textile
|
24
24
|
files:
|
25
|
+
- .gitignore
|
26
|
+
- CHANGELOG
|
25
27
|
- README.textile
|
26
28
|
- Rakefile
|
27
29
|
- TODO.textile
|
28
|
-
-
|
30
|
+
- VERSION
|
29
31
|
- lib/cache_advance.rb
|
30
32
|
- lib/cache_advance/active_record_sweeper.rb
|
31
33
|
- lib/cache_advance/cache_set.rb
|
@@ -38,21 +40,15 @@ files:
|
|
38
40
|
- test/active_record_sweeper_test.rb
|
39
41
|
- test/cache_mock.rb
|
40
42
|
- test/cache_set_test.rb
|
43
|
+
- test/key_test.rb
|
41
44
|
- test/mapper_test.rb
|
42
45
|
- test/named_cache_test.rb
|
43
|
-
- test/spec/db/schema.rb
|
44
|
-
- test/spec/mapper_spec.rb
|
45
|
-
- test/spec/mocks/memcache.rb
|
46
|
-
- test/spec/spec_helper.rb
|
47
46
|
- test/test_helper.rb
|
48
|
-
has_rdoc:
|
49
|
-
homepage: http://github.com/aub/cache_advance
|
47
|
+
has_rdoc: false
|
48
|
+
homepage: http://github.com/aub/cache_advance/tree/master
|
50
49
|
post_install_message:
|
51
50
|
rdoc_options:
|
52
|
-
- --
|
53
|
-
- --inline-source
|
54
|
-
- --main
|
55
|
-
- README.textile
|
51
|
+
- --charset=UTF-8
|
56
52
|
require_paths:
|
57
53
|
- lib
|
58
54
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -72,10 +68,13 @@ requirements: []
|
|
72
68
|
rubyforge_project:
|
73
69
|
rubygems_version: 1.2.0
|
74
70
|
signing_key:
|
75
|
-
specification_version:
|
76
|
-
summary: A system for
|
71
|
+
specification_version: 3
|
72
|
+
summary: A declarative system for caching with ActiveRecord
|
77
73
|
test_files:
|
78
74
|
- test/active_record_sweeper_test.rb
|
75
|
+
- test/cache_mock.rb
|
79
76
|
- test/cache_set_test.rb
|
77
|
+
- test/key_test.rb
|
80
78
|
- test/mapper_test.rb
|
81
79
|
- test/named_cache_test.rb
|
80
|
+
- test/test_helper.rb
|
data/cache_advance.gemspec
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
Gem::Specification.new do |s|
|
2
|
-
s.version = '1.1.1'
|
3
|
-
s.date = %q{2009-01-08}
|
4
|
-
|
5
|
-
s.name = %q{cache_advance}
|
6
|
-
s.required_rubygems_version = Gem::Requirement.new('>= 0') if s.respond_to? :required_rubygems_version=
|
7
|
-
s.authors = ['Aubrey Holland']
|
8
|
-
s.description = %q{A system for spiffy declarative caching}
|
9
|
-
s.email = %q{aubrey@patch.com}
|
10
|
-
s.files = %w(README.textile Rakefile TODO.textile cache_advance.gemspec lib/cache_advance.rb lib/cache_advance/active_record_sweeper.rb lib/cache_advance/cache_set.rb lib/cache_advance/cached_key_list.rb lib/cache_advance/lock.rb lib/cache_advance/mapper.rb lib/cache_advance/named_cache.rb lib/cache_advance/named_cache_configuration.rb rails/init.rb test/active_record_sweeper_test.rb test/cache_mock.rb test/cache_set_test.rb test/mapper_test.rb test/named_cache_test.rb test/spec/db/schema.rb test/spec/mapper_spec.rb test/spec/mocks/memcache.rb test/spec/spec_helper.rb test/test_helper.rb)
|
11
|
-
s.homepage = %q{http://github.com/aub/cache_advance}
|
12
|
-
s.require_paths = ['lib']
|
13
|
-
s.rubygems_version = %q{1.2.0}
|
14
|
-
s.summary = %q{A system for spiffy declarative caching}
|
15
|
-
s.has_rdoc = true
|
16
|
-
s.extra_rdoc_files = ['README.textile']
|
17
|
-
s.rdoc_options = ['--line-numbers', '--inline-source', '--main', 'README.textile']
|
18
|
-
s.test_files = %w(test/active_record_sweeper_test.rb test/cache_set_test.rb test/mapper_test.rb test/named_cache_test.rb)
|
19
|
-
|
20
|
-
if s.respond_to? :specification_version then
|
21
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
22
|
-
s.specification_version = 2
|
23
|
-
end
|
24
|
-
end
|
data/test/spec/db/schema.rb
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
ActiveRecord::Schema.define(:version => 1) do
|
2
|
-
create_table "publications", :force => true do |t|
|
3
|
-
t.string "name", "subdomain"
|
4
|
-
end
|
5
|
-
|
6
|
-
create_table "articles", :force => true do |t|
|
7
|
-
t.references 'publication'
|
8
|
-
t.string 'title'
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
class Publication < ActiveRecord::Base
|
13
|
-
has_many :articles
|
14
|
-
end
|
15
|
-
|
16
|
-
class Article < ActiveRecord::Base
|
17
|
-
belongs_to :publication
|
18
|
-
end
|
data/test/spec/mapper_spec.rb
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), 'spec_helper')
|
2
|
-
|
3
|
-
module CacheAdvance
|
4
|
-
before :each do
|
5
|
-
@cache_set = CacheSet.new
|
6
|
-
@mapper = Mapper.new(@cache_set)
|
7
|
-
end
|
8
|
-
|
9
|
-
describe 'Mapper' do
|
10
|
-
it 'should pass qualifiers directly to the cache set' do
|
11
|
-
proc = Proc.new { 2 }
|
12
|
-
@cache_set.should_receive(:add_qualifier).with(proc)
|
13
|
-
@mapper.qualifier(:testy, proc)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
data/test/spec/mocks/memcache.rb
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
class MemCache
|
2
|
-
attr_reader :data
|
3
|
-
|
4
|
-
def initialize
|
5
|
-
@data = {}
|
6
|
-
end
|
7
|
-
|
8
|
-
def decr(key, amount = 1)
|
9
|
-
end
|
10
|
-
|
11
|
-
def get(key, raw = false)
|
12
|
-
return @data[key]
|
13
|
-
end
|
14
|
-
|
15
|
-
def get_multi(*keys)
|
16
|
-
end
|
17
|
-
|
18
|
-
def incr(key, amount = 1)
|
19
|
-
end
|
20
|
-
|
21
|
-
def set(key, value, expiry = 0, raw = false)
|
22
|
-
@data[key] = value
|
23
|
-
end
|
24
|
-
|
25
|
-
def add(key, value, expiry = 0, raw = false)
|
26
|
-
end
|
27
|
-
|
28
|
-
def delete(key, expiry = 0)
|
29
|
-
@data.delete(key)
|
30
|
-
end
|
31
|
-
|
32
|
-
def flush_all
|
33
|
-
end
|
34
|
-
|
35
|
-
def reset
|
36
|
-
@data = {}
|
37
|
-
end
|
38
|
-
|
39
|
-
def stats
|
40
|
-
end
|
41
|
-
end
|
data/test/spec/spec_helper.rb
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
$: << File.join(File.dirname(__FILE__), '..', 'lib')
|
2
|
-
$: << File.join(File.dirname(__FILE__))
|
3
|
-
|
4
|
-
require 'rubygems'
|
5
|
-
require 'ruby-debug'
|
6
|
-
|
7
|
-
gem 'sqlite3-ruby'
|
8
|
-
require 'spec'
|
9
|
-
require 'cache_advance'
|
10
|
-
|
11
|
-
require 'activerecord'
|
12
|
-
|
13
|
-
ActiveRecord::Base.establish_connection(
|
14
|
-
:adapter => 'sqlite3',
|
15
|
-
:dbfile => ':memory:'
|
16
|
-
)
|
17
|
-
|
18
|
-
require File.join(File.dirname(__FILE__), 'db', 'schema')
|
19
|
-
require File.join(File.dirname(__FILE__), 'mocks', 'memcache')
|
20
|
-
|
21
|
-
Spec::Runner.configure do |config|
|
22
|
-
# config.mock_with :rr
|
23
|
-
config.before :each do
|
24
|
-
@memcache = MemCache.new
|
25
|
-
|
26
|
-
CacheAdvance.define_caches(@memcache) do |cache_config|
|
27
|
-
cache_config.publication
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|