cache_rocket 0.2.1 → 0.2.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.
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: