aub-cache_advance 1.1.1 → 1.1.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|