ettu 0.0.6 → 0.0.7

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/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: