taggable_cache 0.4.0 → 0.4.1
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/.travis.yml +9 -2
- data/CHANGELOG.md +5 -1
- data/Gemfile +6 -11
- data/gemfiles/Gemfile-rails.3.1.x +4 -10
- data/gemfiles/Gemfile-rails.3.2.x +4 -10
- data/gemfiles/Gemfile.shared +10 -0
- data/lib/taggable_cache/extensions.rb +5 -5
- data/lib/taggable_cache/railtie.rb +3 -1
- data/lib/taggable_cache/version.rb +1 -1
- data/spec/integration/rails_cache_spec.rb +36 -1
- data/spec/spec_helper.rb +10 -0
- data/taggable-cache.gemspec +1 -1
- metadata +13 -12
data/.travis.yml
CHANGED
@@ -1,9 +1,16 @@
|
|
1
1
|
language: ruby
|
2
2
|
bundler_args: --without development
|
3
|
-
before_install:
|
4
|
-
- gem install bundler --pre
|
5
3
|
rvm:
|
6
4
|
- 1.9.3
|
7
5
|
gemfile:
|
8
6
|
- gemfiles/Gemfile-rails.3.1.x
|
9
7
|
- gemfiles/Gemfile-rails.3.2.x
|
8
|
+
env:
|
9
|
+
- CACHE_STORE=redis
|
10
|
+
- CACHE_STORE=memcached
|
11
|
+
- CACHE_STORE=file_store
|
12
|
+
matrix:
|
13
|
+
exclude:
|
14
|
+
- rvm: 1.9.3
|
15
|
+
gemfile: gemfiles/Gemfile-rails.3.1.x
|
16
|
+
env: CACHE_STORE=redis
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,10 @@
|
|
1
|
+
= Taggable cache 0.4.1
|
2
|
+
|
3
|
+
- Fixed support for redis cache store with rails 3.2
|
4
|
+
|
1
5
|
= Taggable cache 0.4.0
|
2
6
|
|
3
7
|
- Rewriten rails integration
|
4
8
|
- Added README
|
5
9
|
- Fix warnings
|
6
|
-
- Redis configuration variables can be set by environment variables
|
10
|
+
- Redis configuration variables can be set by environment variables
|
data/Gemfile
CHANGED
@@ -1,17 +1,12 @@
|
|
1
|
-
|
1
|
+
filename = File.expand_path(File.dirname(__FILE__)+"/gemfiles/Gemfile.shared")
|
2
|
+
eval(IO.read(filename), binding)
|
2
3
|
|
3
4
|
gemspec
|
4
5
|
|
6
|
+
gem 'rails', '~> 3.2.0'
|
7
|
+
gem 'redis-rails', '~>3.2.3'
|
8
|
+
|
5
9
|
group :development do
|
6
10
|
gem 'pry'
|
7
11
|
gem 'pry-nav'
|
8
|
-
end
|
9
|
-
|
10
|
-
gem 'rake'
|
11
|
-
gem 'rspec-rails', :require => false
|
12
|
-
gem 'rspec'
|
13
|
-
gem 'capybara'
|
14
|
-
gem 'combustion'
|
15
|
-
gem 'sqlite3'
|
16
|
-
|
17
|
-
gem 'rails', '~> 3.2.0'
|
12
|
+
end
|
@@ -1,13 +1,7 @@
|
|
1
|
-
|
1
|
+
filename = File.expand_path(File.dirname(__FILE__)+"/Gemfile.shared")
|
2
|
+
eval(IO.read(filename), binding)
|
2
3
|
|
3
4
|
gem 'taggable_cache', :path => '..'
|
4
5
|
|
5
|
-
gem '
|
6
|
-
gem '
|
7
|
-
gem 'rspec'
|
8
|
-
gem 'capybara'
|
9
|
-
gem 'combustion'
|
10
|
-
gem 'sqlite3'
|
11
|
-
|
12
|
-
|
13
|
-
gem 'rails', '~> 3.1.0'
|
6
|
+
gem 'rails', '~> 3.1.0'
|
7
|
+
gem 'redis-store', '~>1.1.0'
|
@@ -1,13 +1,7 @@
|
|
1
|
-
|
1
|
+
filename = File.expand_path(File.dirname(__FILE__)+"/Gemfile.shared")
|
2
|
+
eval(IO.read(filename), binding)
|
2
3
|
|
3
4
|
gem 'taggable_cache', :path => '..'
|
4
5
|
|
5
|
-
gem '
|
6
|
-
gem '
|
7
|
-
gem 'rspec'
|
8
|
-
gem 'capybara'
|
9
|
-
gem 'combustion'
|
10
|
-
gem 'sqlite3'
|
11
|
-
|
12
|
-
|
13
|
-
gem 'rails', '~> 3.2.0'
|
6
|
+
gem 'rails', '~> 3.2.0'
|
7
|
+
gem 'redis-rails', '~>3.2.3'
|
@@ -6,17 +6,17 @@ module TaggableCache
|
|
6
6
|
def taggable
|
7
7
|
@taggable ||= ::TaggableCache::Store.new
|
8
8
|
end
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
def write(name, value, options = nil)
|
9
|
+
|
10
|
+
def write_with_taggable(name, value, options = nil)
|
13
11
|
if !options.nil? && options.has_key?(:depends_on)
|
14
12
|
add_tags(name, *options[:depends_on])
|
15
13
|
end
|
16
14
|
|
17
|
-
|
15
|
+
write_without_taggable(name, value, options)
|
18
16
|
end
|
19
17
|
|
18
|
+
alias_method_chain :write, :taggable
|
19
|
+
|
20
20
|
def add_tags(key, *params)
|
21
21
|
taggable.add(key, *params)
|
22
22
|
end
|
@@ -5,8 +5,10 @@ module TaggableCache
|
|
5
5
|
initializer "taggable_cache" do |app|
|
6
6
|
ActiveSupport.on_load(:active_record) do
|
7
7
|
::ActiveRecord::Base.send :include, TaggableCache::ActiveRecordExtension
|
8
|
-
::ActiveSupport::Cache::Store.send :include, TaggableCache::CacheStoreExtension
|
9
8
|
::ActionController::Base.send :include, TaggableCache::ActionControllerExtension
|
9
|
+
|
10
|
+
::ActiveSupport::Cache::Store.send :include, TaggableCache::CacheStoreExtension
|
11
|
+
::ActiveSupport::Cache::RedisStore.send :include, TaggableCache::CacheStoreExtension if defined? ::ActiveSupport::Cache::RedisStore
|
10
12
|
end
|
11
13
|
end
|
12
14
|
end
|
@@ -20,7 +20,42 @@ describe 'TaggableCache::Rails::Cache' do
|
|
20
20
|
it "does simple writes" do
|
21
21
|
Rails.cache.write 'ipsum', 'lorem'
|
22
22
|
Rails.cache.read('ipsum').should == 'lorem'
|
23
|
-
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
describe "Rails.cache.fetch integration" do
|
27
|
+
it "adds key to store" do
|
28
|
+
Rails.cache.fetch('fetch_key', :depends_on => @page_object) do
|
29
|
+
'value1'
|
30
|
+
end
|
31
|
+
|
32
|
+
@object.get(@page_object).should == ['fetch_key']
|
33
|
+
end
|
34
|
+
|
35
|
+
it "does simple expires" do
|
36
|
+
Rails.cache.fetch 'ftch_ipsum', :depends_on => @page_object do
|
37
|
+
'lorem ipsum'
|
38
|
+
end
|
39
|
+
|
40
|
+
Rails.cache.read('ftch_ipsum').should == 'lorem ipsum'
|
41
|
+
|
42
|
+
@page_object.name = 'dfgsdgsdfgsdfg'
|
43
|
+
@page_object.save!
|
44
|
+
|
45
|
+
Rails.cache.read('ftch_ipsum').should be_nil
|
46
|
+
end
|
47
|
+
|
48
|
+
it "does class expires" do
|
49
|
+
Rails.cache.fetch 'ftch_ipsum2', :depends_on => Page do
|
50
|
+
'lorem ipsum di'
|
51
|
+
end
|
52
|
+
|
53
|
+
Rails.cache.read('ftch_ipsum2').should == 'lorem ipsum di'
|
54
|
+
|
55
|
+
@page_object.save!
|
56
|
+
|
57
|
+
Rails.cache.read('ftch_ipsum2').should be_nil
|
58
|
+
end
|
24
59
|
end
|
25
60
|
|
26
61
|
describe "Activerecord integration" do
|
data/spec/spec_helper.rb
CHANGED
@@ -4,6 +4,16 @@ Bundler.require :default, :development
|
|
4
4
|
|
5
5
|
require 'capybara/rspec'
|
6
6
|
|
7
|
+
class Combustion::Application
|
8
|
+
case ENV['CACHE_STORE']
|
9
|
+
when 'redis'
|
10
|
+
config.cache_store = :redis_store
|
11
|
+
when 'memcached'
|
12
|
+
config.cache_store = :mem_cache_store
|
13
|
+
when 'file_store'
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
7
17
|
Combustion.initialize!
|
8
18
|
|
9
19
|
require 'rspec/rails'
|
data/taggable-cache.gemspec
CHANGED
@@ -32,6 +32,6 @@ Gem::Specification.new do |s|
|
|
32
32
|
s.add_dependency(%q<railties>, [">= 3.1.0"])
|
33
33
|
s.add_dependency(%q<actionpack>, [">= 3.1.0"])
|
34
34
|
s.add_dependency(%q<activerecord>, [">= 3.1.0"])
|
35
|
-
s.add_dependency(%q<redis>, [">= 2.2.
|
35
|
+
s.add_dependency(%q<redis>, [">= 2.2.0"])
|
36
36
|
end
|
37
37
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: taggable_cache
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-02-09 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: railties
|
16
|
-
requirement: &
|
16
|
+
requirement: &76511480 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 3.1.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *76511480
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: actionpack
|
27
|
-
requirement: &
|
27
|
+
requirement: &76535640 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 3.1.0
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *76535640
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: activerecord
|
38
|
-
requirement: &
|
38
|
+
requirement: &76533890 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,18 +43,18 @@ dependencies:
|
|
43
43
|
version: 3.1.0
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *76533890
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: redis
|
49
|
-
requirement: &
|
49
|
+
requirement: &76532140 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 2.2.
|
54
|
+
version: 2.2.0
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *76532140
|
58
58
|
description: This gem simplifies cache expiration in rails
|
59
59
|
email: brain-geek@yandex.ua
|
60
60
|
executables: []
|
@@ -72,6 +72,7 @@ files:
|
|
72
72
|
- Rakefile
|
73
73
|
- gemfiles/Gemfile-rails.3.1.x
|
74
74
|
- gemfiles/Gemfile-rails.3.2.x
|
75
|
+
- gemfiles/Gemfile.shared
|
75
76
|
- lib/taggable_cache.rb
|
76
77
|
- lib/taggable_cache/extensions.rb
|
77
78
|
- lib/taggable_cache/railtie.rb
|
@@ -106,7 +107,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
106
107
|
version: '0'
|
107
108
|
segments:
|
108
109
|
- 0
|
109
|
-
hash:
|
110
|
+
hash: 648391631
|
110
111
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
111
112
|
none: false
|
112
113
|
requirements:
|
@@ -115,7 +116,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
115
116
|
version: '0'
|
116
117
|
segments:
|
117
118
|
- 0
|
118
|
-
hash:
|
119
|
+
hash: 648391631
|
119
120
|
requirements: []
|
120
121
|
rubyforge_project:
|
121
122
|
rubygems_version: 1.8.10
|