ettu 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Ettu
2
2
 
3
- Using Rails 4's `stale?` or `fresh_when`? Are your users seeing old view
3
+ Using Rails `stale?` or `fresh_when`? Are your users seeing old view
4
4
  code even after new deploys? The Rails way `fresh_when(@product)`
5
5
  doesn't account for changes in your view code, you have to do it
6
6
  yourself.
@@ -17,19 +17,26 @@ changes to your view code.
17
17
 
18
18
  ## Installation
19
19
 
20
- Add this line to your application's Gemfile:
20
+ ### Rails 4
21
+
22
+ Add Ettu to your Gemfile:
21
23
 
22
24
  gem 'ettu'
23
25
 
24
- And then execute:
26
+ And `$ bundle install`
27
+
28
+ ### Rails 3
25
29
 
26
- $ bundle
30
+ Add Ettu and CacheDigests to your Gemfile:
31
+
32
+ gem 'ettu'
33
+ gem 'cache_digests'
27
34
 
28
- And that's it. Ettu will be loaded on your next restart.
35
+ And `$ bundle install`
29
36
 
30
37
  ## Usage
31
38
 
32
- Rails 4 ETags can be used in the following way:
39
+ Rails ETags can be used in the following way:
33
40
 
34
41
  ```ruby
35
42
  class ProductsController < ApplicationController
data/ettu.gemspec CHANGED
@@ -6,19 +6,20 @@ require 'ettu/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = 'ettu'
8
8
  spec.version = Ettu::VERSION
9
- spec.authors = ['Justin Ridgewell']
10
- spec.email = ['jridgewell@cloudspace.com']
9
+ spec.author = 'Justin Ridgewell'
10
+ spec.email = 'jridgewell@cloudspace.com'
11
11
  spec.description = %q{Account for js, css, and views when using ETags.}
12
12
  spec.summary = %q{Account for view code when using ETags.}
13
13
  spec.homepage = 'http://github.com/cloudspace/ettu'
14
14
  spec.license = 'MIT'
15
15
 
16
16
  spec.files = `git ls-files`.split($/)
17
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
17
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
18
  spec.require_paths = ['lib']
20
19
 
21
- spec.add_dependency 'rails', '>= 4.0'
20
+ spec.required_ruby_version = '>= 1.9'
21
+
22
+ spec.add_dependency 'rails', '>= 3.2'
22
23
  spec.add_development_dependency 'bundler', '~> 1.3'
23
24
  spec.add_development_dependency 'rake'
24
25
  spec.add_development_dependency 'rspec'
@@ -23,7 +23,11 @@ class Ettu
23
23
  delete :view if key? :view
24
24
 
25
25
  if defined? ActionView::Digestor
26
+ # Attempt to use ActionView::Digestor on Rails 4
26
27
  self.template_digestor = ActionView::Digestor
28
+ elsif defined? CacheDigests::TemplateDigestor
29
+ # Attempt to use CacheDigests::TemplateDigestor on Rails 3
30
+ self.template_digestor = CacheDigests::TemplateDigestor
27
31
  end
28
32
  end
29
33
  end
@@ -5,7 +5,7 @@ class Ettu
5
5
  included do
6
6
  alias_method :old_fresh_when, :fresh_when
7
7
 
8
- def fresh_when(record_or_options, additional_options)
8
+ def fresh_when(record_or_options, additional_options = {})
9
9
  ettu = ettu_instance(record_or_options, additional_options, self)
10
10
 
11
11
  ettu_params = {etag: ettu.etags, last_modified: ettu.last_modified}
data/lib/ettu/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class Ettu
2
- VERSION = '0.0.6'
2
+ VERSION = '0.0.7'
3
3
  end
data/lib/ettu.rb CHANGED
@@ -77,6 +77,11 @@ class Ettu
77
77
  # https://gist.github.com/jeremy/4211803
78
78
  def view_digest(view)
79
79
  return nil unless view.present?
80
+
81
+ if @@config.template_digestor.nil? && Rails::VERSION::MAJOR == 3
82
+ raise "Ettu requires the cache_digests gem when using Rails v#{Rails::VERSION::STRING}"
83
+ end
84
+
80
85
  @@config.template_digestor.digest(
81
86
  view,
82
87
  @controller.request.format.try(:to_sym),
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ettu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-06-30 00:00:00.000000000 Z
12
+ date: 2013-07-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: '4.0'
21
+ version: '3.2'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
- version: '4.0'
29
+ version: '3.2'
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: bundler
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -92,8 +92,7 @@ dependencies:
92
92
  - !ruby/object:Gem::Version
93
93
  version: '0'
94
94
  description: Account for js, css, and views when using ETags.
95
- email:
96
- - jridgewell@cloudspace.com
95
+ email: jridgewell@cloudspace.com
97
96
  executables: []
98
97
  extensions: []
99
98
  extra_rdoc_files: []
@@ -127,7 +126,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
127
126
  requirements:
128
127
  - - ! '>='
129
128
  - !ruby/object:Gem::Version
130
- version: '0'
129
+ version: '1.9'
131
130
  required_rubygems_version: !ruby/object:Gem::Requirement
132
131
  none: false
133
132
  requirements: