cache_rocket 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 02591106ca977ec2f38b633c6003fbbe730d7714
4
- data.tar.gz: 61d116127812127f1eceb606b2af0fca5f83acfb
3
+ metadata.gz: f75dd60c6e5762540a56e4a7085162a9c74f102b
4
+ data.tar.gz: 14af9f5f4e9d64c1181b4f07eb6605b2d004a7bf
5
5
  SHA512:
6
- metadata.gz: fd1fca1866a158eae06686d10f73ab57de4eee8fb5d2ca593c215ef80b37258cfdb608998bd1476164a12bf433d634313015fb5486e329409b56f494c51be7dc
7
- data.tar.gz: 1a227ce2c6238563950171be071e3d1027e4dc148ad2e4c50b806c8c2a781a3ab8d23e2ab06b6ee0bc971a8c134757a9913d2c0e6d295b6b088e9a1411a541fe
6
+ metadata.gz: b960decd0407c187ea85ba06acfdfbd8f6f66292191f7c7837b893363cd3f91e84b2f272388cb910101a4f6e7e0198de12233c42c693c1a746c7a13143d7d84b
7
+ data.tar.gz: c37b830692708e77e91e350f0c8986d95eb90b40900814f29132256fbe48c85b526d865684673267432b3c501f41ec484008d2813a78a0c9e170cd42b110c607
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- ruby-2.0.0
1
+ ruby-2.1.0
data/.travis.yml CHANGED
@@ -2,4 +2,4 @@ language: ruby
2
2
  rvm:
3
3
  - 1.9.3
4
4
  - 2.0.0
5
-
5
+ - 2.1.0
data/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2013 Tee Parham
1
+ Copyright (c) 2013 Neighborland, Inc.
2
2
 
3
3
  MIT License
4
4
 
data/README.md CHANGED
@@ -1,19 +1,21 @@
1
1
  [![Gem Version](https://badge.fury.io/rb/cache_rocket.png)][gem]
2
- [![Build Status](https://api.travis-ci.org/teeparham/cache_rocket.png)][build]
3
- [![Code Climate](https://codeclimate.com/github/teeparham/cache_rocket.png)][climate]
2
+ [![Build Status](https://api.travis-ci.org/neighborland/cache_rocket.png)][build]
3
+ [![Coverage Status](https://coveralls.io/repos/neighborland/cache_rocket/badge.png)][coverage]
4
+ [![Code Climate](https://codeclimate.com/github/neighborland/cache_rocket.png)][climate]
4
5
 
5
6
  [gem]: http://badge.fury.io/rb/cache_rocket
6
- [build]: https://travis-ci.org/teeparham/cache_rocket
7
- [climate]: https://codeclimate.com/github/teeparham/cache_rocket
7
+ [build]: https://travis-ci.org/neighborland/cache_rocket
8
+ [coverage]: https://coveralls.io/r/neighborland/cache_rocket
9
+ [climate]: https://codeclimate.com/github/neighborland/cache_rocket
8
10
 
9
- # Rails rendering extension for server-side html caching
11
+ ## Rails rendering extension for server-side html caching
10
12
 
11
- ## Why do I need this?
13
+ CacheRocket improves fragment caching efficiency in Rails.
14
+ CacheRocket allows caching more generic html fragments and allowing the contents of the cached fragments
15
+ to be replaced with dynamic content.
16
+ CacheRocket is a technique that may be used with other Rails caching strategies such as Russian Doll caching.
12
17
 
13
- To improve fragment caching efficiency in Rails by only caching the things that change.
14
- CacheRocket may be used in with other Rails caching strategies such as Russian Doll caching.
15
-
16
- ## Install
18
+ ### Install
17
19
 
18
20
  Add this line to your Gemfile:
19
21
 
@@ -27,12 +29,12 @@ Add this line to a helper file, likely your ApplicationHelper:
27
29
  include CacheRocket
28
30
  ```
29
31
 
30
- ## Use
32
+ ### Use
31
33
 
32
- This gem allows you to cache a partial of static html and replace inner dynamic html. Here is an example
33
- scenario:
34
+ This gem allows you to cache a fragment of html and replace inner html. You cache the donut and replace the donut hole.
34
35
 
35
- You have some html that you would like to cache, but cannot because of some uncacheable code nested in the DOM. For example:
36
+ Assume you have some html that you would like to cache, but cannot because of some uncacheable code nested in the DOM.
37
+ For example:
36
38
 
37
39
  ##### file.html.haml:
38
40
  ```haml
@@ -44,86 +46,159 @@ You have some html that you would like to cache, but cannot because of some unca
44
46
  .lots
45
47
  .of
46
48
  .htmls
47
- = render 'dynamic'
49
+ = render 'inner'
48
50
  ```
49
51
 
50
- ##### _dynamic.html.haml:
52
+ ##### _inner.html.haml:
51
53
  ```haml
52
54
  = complicated_uncacheable_stuff
53
55
  ```
54
56
 
55
- In the scenario above, you can't cache anything. With `cache_rocket`, you can:
57
+ In the scenario above, you can't cache anything. With `cache_rocket`, you can. Replace `render`
58
+ with `render_cached` in `file`, specify the partial to replace in `container`, and cache `container`:
56
59
 
57
60
  ##### file.html.haml:
58
61
  ```haml
59
- = render_cached 'container', replace: 'dynamic'
62
+ = render_cached 'container', replace: 'inner'
60
63
  ```
61
64
 
62
65
  ##### _container.html.haml:
63
66
  ```haml
64
- - cache "container" do
67
+ - cache 'container' do
65
68
  .lots
66
69
  .of
67
70
  .htmls
68
- = cache_replace_key 'dynamic'
71
+ = cache_replace_key 'inner'
69
72
  ```
70
73
 
71
- ##### _dynamic.html.haml:
74
+ ##### _inner.html.haml:
72
75
  ``` haml
73
76
  = complicated_uncacheable_stuff
74
77
  ```
75
78
 
76
- In the above example, you could also remove the `_dynamic.html.haml` file like so:
79
+ In this example, you could remove the `_inner.html.haml` file altogether, like so:
77
80
 
78
81
  ##### file.html.haml:
79
82
  ```haml
80
- = render_cached 'container', replace: { dynamic: complicated_uncacheable_stuff }
83
+ = render_cached 'container', replace: { inner: complicated_uncacheable_stuff }
81
84
  ```
82
85
 
83
- ## Options
86
+ ##### _container.html.haml:
87
+ ```haml
88
+ - cache 'container' do
89
+ .lots
90
+ .of
91
+ .htmls
92
+ = cache_replace_key 'inner'
93
+ ```
94
+
95
+ ### Options
84
96
 
85
- `render_cached` provides several calling styles:
97
+ `render_cached` supports several styles of arguments:
86
98
 
87
99
  #### Single partial to replace
88
100
 
89
101
  ```ruby
90
- render_cached "container", replace: "inner"
102
+ render_cached 'container', replace: 'inner'
91
103
  ```
92
104
 
93
105
  #### Array of partials to replace
94
106
  ```ruby
95
- render_cached "container", replace: ["inner", "footer"]
107
+ render_cached 'container', replace: ['inner', 'footer']
96
108
  ```
97
109
 
98
110
  #### Hash of keys to replace with values
99
111
  ```ruby
100
- render_cached "container", replace: { key_name: a_helper_method(object) }
112
+ render_cached 'container', replace: { key_name: a_helper_method(object) }
101
113
  ```
102
114
 
103
115
  #### Block containing a hash of keys to replace with values
104
116
  ```ruby
105
- render_cached "container" do
117
+ render_cached 'container' do
106
118
  { key_name: a_helper_method(object) }
107
119
  end
108
120
  ```
109
121
 
110
122
  #### Render a collection with hash of keys, using a Proc for each collection item
111
123
  ```ruby
112
- render_cached "container", collection: objects,
124
+ render_cached 'container', collection: objects,
113
125
  replace: { key_name: ->(object){ a_helper_method(object) } }
114
126
  ```
115
127
 
116
128
  #### Render a collection with block syntax
117
129
  ```ruby
118
- render_cached "container", collection: objects do
130
+ render_cached 'container', collection: objects do
119
131
  { key_name: ->(object){ a_helper_method(object) } }
120
132
  end
121
133
  ```
122
134
 
123
- ## Contribute
135
+ ### YMMV
136
+
137
+ `cache_rocket` is not magic. It should not be used in all situations.
138
+ Benchmark your page load times before and after to see if it helps.
139
+
140
+ ### Benefits
141
+
142
+ #### More server-side caching
143
+
144
+ See the example above.
145
+
146
+ #### Use far less memory
147
+
148
+ Typically, one would key the `users/bio` partial on the `user` object like so:
149
+
150
+ ##### users/bio.haml:
151
+ ```haml
152
+ - cache [user, 'bio'] do
153
+ .lots-of-htmls
154
+ = user.bio
155
+ ```
156
+
157
+ ```haml
158
+ = render 'users/bio'
159
+ ```
160
+
161
+ With 1000 users, there are 1000 cached items. This can use a lot of memory.
162
+ Instead we can cache the `users/bio` partial once and replace the content we need using
163
+ `cache_replace`. With 1000 users, we use 1/1000th the memory.
164
+
165
+ ##### users/bio.haml:
166
+ ```haml
167
+ - cache('users/bio') do
168
+ .lots-of-htmls
169
+ = cache_replace_key :bio
170
+ ```
171
+
172
+ ```haml
173
+ = render_cached 'users/bio', replace: { bio: user.bio }
174
+ ```
175
+
176
+ #### Simpler cache keys
177
+
178
+ If you have a cache key containing multiple models, it will generally be very inefficient:
179
+ ```haml
180
+ - cache(user, other_user) do
181
+ = render 'common_interests'
182
+ ```
183
+
184
+ If the cached content is rarely retrieved, `cache_replace` can help:
185
+
186
+ ```haml
187
+ - cache('common_interests') do
188
+ .htmls
189
+ = cache_replace_key :something
190
+ ```
191
+
192
+ ```haml
193
+ = render 'common_interests', replace: { something: 'common_interests/inner' }
194
+ ```
195
+
196
+ #### Faster first page loads
197
+
198
+ By caching common html, you ensure that you will render cached content the first time a model-dependent
199
+ fragment is rendered. See the `Use far less memory` section above for an example.
200
+
201
+ ### References
124
202
 
125
- 1. Fork it
126
- 2. Create your feature branch (`git checkout -b my-new-feature`)
127
- 3. Commit your changes (`git commit -am 'Add some feature'`)
128
- 4. Push to the branch (`git push origin my-new-feature`)
129
- 5. Create new Pull Request
203
+ * Slides from Boulder Ruby presentation: http://www.slideshare.net/teeparham/rails-html-fragment-caching-with-cache-rocket
204
+ * Rails cache benchmark test app: https://github.com/teeparham/cache_benchmark
data/cache_rocket.gemspec CHANGED
@@ -10,18 +10,19 @@ Gem::Specification.new do |spec|
10
10
  spec.email = ["tee@neighborland.com"]
11
11
  spec.description = %q{Rails rendering extension for server-side html caching}
12
12
  spec.summary = %q{Rails rendering extension for server-side html caching}
13
- spec.homepage = "https://github.com/teeparham/cache_rocket"
13
+ spec.homepage = "https://github.com/neighborland/cache_rocket"
14
14
  spec.license = "MIT"
15
15
 
16
16
  spec.files = `git ls-files`.split($/)
17
17
  spec.test_files = `git ls-files -- {test}/*`.split("\n")
18
18
  spec.require_paths = ["lib"]
19
19
 
20
+ spec.required_ruby_version = ">= 1.9.3"
21
+
20
22
  spec.add_dependency "actionpack", ">= 3.2"
21
23
 
22
- spec.add_development_dependency "rake", ">= 10.0"
23
- spec.add_development_dependency "test-unit", ">= 2.5"
24
- spec.add_development_dependency "mocha", ">= 0.13"
25
- spec.add_development_dependency "shoulda-context"
26
- spec.add_development_dependency "pry", ">= 0.9"
24
+ spec.add_development_dependency "rake", "~> 10.0"
25
+ spec.add_development_dependency "minitest"
26
+ spec.add_development_dependency "mocha", "~> 1.0"
27
+ spec.add_development_dependency "pry", "~> 0.9"
27
28
  end
@@ -45,8 +45,8 @@ module CacheRocket
45
45
  def replace_item_hash(item, hash)
46
46
  item_fragment = self.value.dup
47
47
 
48
- hash.each do |key, value|
49
- item_fragment.gsub! cache_replace_key(key), value.call(item)
48
+ hash.each do |key, proc|
49
+ item_fragment.gsub! cache_replace_key(key), proc.call(item)
50
50
  end
51
51
 
52
52
  item_fragment
@@ -1,3 +1,3 @@
1
1
  module CacheRocket
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.2"
3
3
  end
@@ -1,37 +1,37 @@
1
1
  require 'test_helper'
2
2
 
3
- class CacheRocketTest < Test::Unit::TestCase
3
+ class CacheRocketTest < MiniTest::Spec
4
4
  class FakeRenderer
5
5
  include CacheRocket
6
6
  end
7
7
 
8
- setup do
8
+ before do
9
9
  @renderer = FakeRenderer.new
10
10
  end
11
11
 
12
- context "#cache_replace_key" do
13
- should "return key with prefix" do
12
+ describe "#cache_replace_key" do
13
+ it "return key with prefix" do
14
14
  assert_equal CacheRocket::CACHE_REPLACE_KEY_OPEN + "some/thing>", @renderer.cache_replace_key("some/thing")
15
15
  end
16
16
  end
17
17
 
18
- context "#render_cached" do
19
- setup do
18
+ describe "#render_cached" do
19
+ before do
20
20
  @renderer.stubs(:render).with("container", {}).returns "Fanny pack #{@renderer.cache_replace_key('inner')} viral mustache."
21
21
  @renderer.stubs(:render).with("inner", {}).returns "quinoa hoodie"
22
22
  end
23
23
 
24
- should "render with single partial" do
24
+ it "render with single partial" do
25
25
  assert_equal "Fanny pack quinoa hoodie viral mustache.", @renderer.render_cached("container", replace: "inner")
26
26
  end
27
27
 
28
- should "pass options to inner render" do
28
+ it "pass options to inner render" do
29
29
  @renderer.expects(:render).with("container", variable: "x").returns ""
30
30
  @renderer.expects(:render).with("inner", variable: "x").returns ""
31
31
  @renderer.render_cached("container", variable: "x", replace: "inner")
32
32
  end
33
33
 
34
- should "render with array of partials" do
34
+ it "render with array of partials" do
35
35
  @renderer.stubs(:render).with("container", {}).
36
36
  returns "#{@renderer.cache_replace_key('inner')} #{@renderer.cache_replace_key('other')} viral mustache."
37
37
  @renderer.stubs(:render).with("other", {}).returns "high life"
@@ -40,22 +40,22 @@ class CacheRocketTest < Test::Unit::TestCase
40
40
  @renderer.render_cached("container", replace: ["inner", "other"])
41
41
  end
42
42
 
43
- should "render with map of keys" do
43
+ it "render with map of keys" do
44
44
  assert_equal "Fanny pack keytar viral mustache.", @renderer.render_cached("container", replace: {inner: "keytar"})
45
45
  end
46
46
 
47
- should "render with map of keys with a nil value" do
47
+ it "render with map of keys with a nil value" do
48
48
  assert_equal "Fanny pack viral mustache.", @renderer.render_cached("container", replace: {inner: nil})
49
49
  end
50
50
 
51
- should "render with hash block" do
51
+ it "render with hash block" do
52
52
  output = @renderer.render_cached("container") do
53
53
  {inner: "keytar"}
54
54
  end
55
55
  assert_equal "Fanny pack keytar viral mustache.", output
56
56
  end
57
57
 
58
- should "replace every instance of key in inner partial" do
58
+ it "replace every instance of key in inner partial" do
59
59
  @renderer.stubs(:render).with("container", {}).
60
60
  returns "#{@renderer.cache_replace_key('inner')} #{@renderer.cache_replace_key('inner')} viral mustache."
61
61
 
@@ -63,7 +63,7 @@ class CacheRocketTest < Test::Unit::TestCase
63
63
  @renderer.render_cached("container", replace: "inner")
64
64
  end
65
65
 
66
- should "replace every instance of the keys with hash values" do
66
+ it "replace every instance of the keys with hash values" do
67
67
  @renderer.stubs(:render).with("container", {}).
68
68
  returns "I like #{@renderer.cache_replace_key('beer')}, #{@renderer.cache_replace_key('beer')} and #{@renderer.cache_replace_key('food')}."
69
69
 
@@ -71,30 +71,46 @@ class CacheRocketTest < Test::Unit::TestCase
71
71
  @renderer.render_cached("container", replace: {food: "chips", beer: 'stout'})
72
72
  end
73
73
 
74
- should "replace collection with Proc in replace key" do
74
+ it "replace collection with Proc in replace key" do
75
75
  def dog_name(dog) dog end
76
+
76
77
  @renderer.stubs(:render).with("partial", {}).returns "Hi #{@renderer.cache_replace_key(:dog)}."
77
78
  dogs = %w[Snoop Boo]
78
79
 
79
80
  assert_equal "Hi Snoop.Hi Boo.",
80
- @renderer.render_cached("partial", collection: dogs, replace: {dog: ->(dog){dog_name(dog)} })
81
+ @renderer.render_cached("partial", collection: dogs, replace: {dog: ->(dog) { dog_name(dog) } })
81
82
  end
82
83
 
83
- should "replace collection using hash block with Proc" do
84
+ it "replace collection using hash block with Proc" do
84
85
  def dog_name(dog) dog end
86
+
85
87
  @renderer.stubs(:render).with("partial", {}).returns "Hi #{@renderer.cache_replace_key(:dog)}."
86
88
  dogs = %w[Snoop Boo]
87
89
 
88
90
  rendered = @renderer.render_cached("partial", collection: dogs) do
89
- { dog: ->(dog){dog_name(dog)} }
91
+ { dog: ->(dog) { dog_name(dog) } }
90
92
  end
91
93
 
92
94
  assert_equal "Hi Snoop.Hi Boo.", rendered
93
95
  end
94
96
 
95
- should "raise ArgumentError with invalid syntax" do
97
+ it "replace collection with multiple procs" do
98
+ def dog_name(dog) dog end
99
+ def reverse(dog) dog.reverse end
100
+
101
+ @renderer.stubs(:render).with("partial", {}).returns "#{@renderer.cache_replace_key(:reverse)} #{@renderer.cache_replace_key(:dog)}."
102
+ dogs = %w[Snoop Boo]
103
+
104
+ rendered = @renderer.render_cached("partial", collection: dogs) do
105
+ { dog: ->(dog) { dog_name(dog) }, reverse: ->(dog) { reverse(dog) } }
106
+ end
107
+
108
+ assert_equal "poonS Snoop.ooB Boo.", rendered
109
+ end
110
+
111
+ it "raise ArgumentError with invalid syntax" do
96
112
  @renderer.stubs(:render).with("container").returns("")
97
- assert_raise(ArgumentError) do
113
+ assert_raises(ArgumentError) do
98
114
  @renderer.render_cached("container")
99
115
  end
100
116
  end
@@ -1,29 +1,29 @@
1
1
  require 'test_helper'
2
2
 
3
3
  module CacheRocket
4
- class FragmentTest < Test::Unit::TestCase
5
- context "#to_s" do
6
- should "equal value" do
4
+ class FragmentTest < MiniTest::Spec
5
+ describe "#to_s" do
6
+ it "equal value" do
7
7
  assert_equal "yo", Fragment.new("yo").to_s
8
8
  end
9
9
  end
10
10
 
11
- context "#gsub!" do
12
- should "substitute value" do
11
+ describe "#gsub!" do
12
+ it "substitute value" do
13
13
  fragment = Fragment.new("hello there, hello.")
14
14
  assert_equal "yo there, yo.", fragment.gsub!("hello", "yo")
15
15
  end
16
16
  end
17
17
 
18
- context "#replace" do
19
- should "replace cache keys from hash" do
18
+ describe "#replace" do
19
+ it "replace cache keys from hash" do
20
20
  cr_key = Fragment.new(nil).cache_replace_key(:xx)
21
21
  fragment = Fragment.new("hey #{cr_key} hey.")
22
22
  fragment.replace({xx: "yo"}, nil)
23
23
  assert_equal "hey yo hey.", fragment.value
24
24
  end
25
25
 
26
- should "replace collection with Proc" do
26
+ it "replace collection with Proc" do
27
27
  def last5(object)
28
28
  object.last(5)
29
29
  end
@@ -37,4 +37,4 @@ module CacheRocket
37
37
  end
38
38
 
39
39
  end
40
- end
40
+ end
data/test/key_test.rb CHANGED
@@ -1,10 +1,10 @@
1
1
  require 'test_helper'
2
2
 
3
3
  module CacheRocket
4
- class KeyTest < Test::Unit::TestCase
4
+ class KeyTest < MiniTest::Spec
5
5
 
6
- context "#cache_replace_key" do
7
- should "return key with prefix" do
6
+ describe "#cache_replace_key" do
7
+ it "return key with prefix" do
8
8
  class KeyFake
9
9
  include Key
10
10
  end
data/test/test_helper.rb CHANGED
@@ -1,8 +1,9 @@
1
- require 'coveralls'
2
- Coveralls.wear!
1
+ if ENV['TRAVIS']
2
+ require 'coveralls'
3
+ Coveralls.wear!
4
+ end
3
5
 
4
- require 'test/unit'
5
- require 'shoulda-context'
6
- require 'mocha/setup'
6
+ require 'minitest/autorun'
7
+ require 'mocha/mini_test'
7
8
  require 'cache_rocket'
8
9
  require 'pry'
metadata CHANGED
@@ -1,97 +1,83 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cache_rocket
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tee Parham
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-31 00:00:00.000000000 Z
11
+ date: 2014-02-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionpack
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '3.2'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '3.2'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '10.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: test-unit
42
+ name: minitest
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '2.5'
47
+ version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '2.5'
54
+ version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: mocha
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
60
- - !ruby/object:Gem::Version
61
- version: '0.13'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - '>='
67
- - !ruby/object:Gem::Version
68
- version: '0.13'
69
- - !ruby/object:Gem::Dependency
70
- name: shoulda-context
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - '>='
59
+ - - "~>"
74
60
  - !ruby/object:Gem::Version
75
- version: '0'
61
+ version: '1.0'
76
62
  type: :development
77
63
  prerelease: false
78
64
  version_requirements: !ruby/object:Gem::Requirement
79
65
  requirements:
80
- - - '>='
66
+ - - "~>"
81
67
  - !ruby/object:Gem::Version
82
- version: '0'
68
+ version: '1.0'
83
69
  - !ruby/object:Gem::Dependency
84
70
  name: pry
85
71
  requirement: !ruby/object:Gem::Requirement
86
72
  requirements:
87
- - - '>='
73
+ - - "~>"
88
74
  - !ruby/object:Gem::Version
89
75
  version: '0.9'
90
76
  type: :development
91
77
  prerelease: false
92
78
  version_requirements: !ruby/object:Gem::Requirement
93
79
  requirements:
94
- - - '>='
80
+ - - "~>"
95
81
  - !ruby/object:Gem::Version
96
82
  version: '0.9'
97
83
  description: Rails rendering extension for server-side html caching
@@ -101,9 +87,9 @@ executables: []
101
87
  extensions: []
102
88
  extra_rdoc_files: []
103
89
  files:
104
- - .gitignore
105
- - .ruby-version
106
- - .travis.yml
90
+ - ".gitignore"
91
+ - ".ruby-version"
92
+ - ".travis.yml"
107
93
  - Gemfile
108
94
  - LICENSE.txt
109
95
  - README.md
@@ -117,7 +103,7 @@ files:
117
103
  - test/fragment_test.rb
118
104
  - test/key_test.rb
119
105
  - test/test_helper.rb
120
- homepage: https://github.com/teeparham/cache_rocket
106
+ homepage: https://github.com/neighborland/cache_rocket
121
107
  licenses:
122
108
  - MIT
123
109
  metadata: {}
@@ -127,18 +113,19 @@ require_paths:
127
113
  - lib
128
114
  required_ruby_version: !ruby/object:Gem::Requirement
129
115
  requirements:
130
- - - '>='
116
+ - - ">="
131
117
  - !ruby/object:Gem::Version
132
- version: '0'
118
+ version: 1.9.3
133
119
  required_rubygems_version: !ruby/object:Gem::Requirement
134
120
  requirements:
135
- - - '>='
121
+ - - ">="
136
122
  - !ruby/object:Gem::Version
137
123
  version: '0'
138
124
  requirements: []
139
125
  rubyforge_project:
140
- rubygems_version: 2.0.7
126
+ rubygems_version: 2.2.2
141
127
  signing_key:
142
128
  specification_version: 4
143
129
  summary: Rails rendering extension for server-side html caching
144
130
  test_files: []
131
+ has_rdoc: