ettu 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
data/ettu.gemspec CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
19
19
 
20
20
  spec.required_ruby_version = '>= 1.9'
21
21
 
22
- spec.add_dependency 'rails', '>= 3.2'
22
+ spec.add_dependency 'rails', '>= 3.0'
23
23
  spec.add_development_dependency 'bundler', '~> 1.3'
24
24
  spec.add_development_dependency 'rake'
25
25
  spec.add_development_dependency 'rspec'
data/lib/ettu.rb CHANGED
@@ -8,6 +8,7 @@ require 'ettu/configuration'
8
8
  require 'ettu/fresh_when'
9
9
  require 'ettu/railtie' if defined? Rails::Railtie
10
10
 
11
+
11
12
  class Ettu
12
13
  attr_reader :options
13
14
 
@@ -78,8 +79,8 @@ class Ettu
78
79
  def view_digest(view)
79
80
  return nil unless view.present?
80
81
 
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}"
82
+ if @@config.template_digestor.nil?
83
+ @@config.attempt_late_template_digestor_set
83
84
  end
84
85
 
85
86
  @@config.template_digestor.digest(
@@ -91,14 +92,17 @@ class Ettu
91
92
 
92
93
  # Jeremy Kemper
93
94
  # https://gist.github.com/jeremy/4211803
94
- # Check precompiled asset manifest (production) or compute the digest (dev).
95
95
  def asset_digest(asset)
96
+ rails_version = Rails::VERSION::MAJOR
96
97
  return nil unless asset.present?
97
- # Is Rails.application.config.assets.digests needed?
98
- # Seems to always be nil...
99
- if manifest = Rails.application.config.assets.digests
98
+ # Check already computed assets (production)
99
+ # Using the Rails::VERSION is an ugly hack. I'm not happy about it.
100
+ if rails_version == 4 && digest = ActionView::Base.assets_manifest.assets[asset]
101
+ digest
102
+ elsif rails_version == 3 && manifest = Rails.application.config.assets.digests
100
103
  manifest[asset]
101
104
  else
105
+ # Compute it in Rails (3|4)
102
106
  Rails.application.assets[asset].digest
103
107
  end
104
108
  end
@@ -9,6 +9,16 @@ class Ettu
9
9
  set_defaults
10
10
  end
11
11
 
12
+ def attempt_late_template_digestor_set
13
+ if defined? ActionView::Digestor
14
+ # Attempt to use ActionView::Digestor on Rails 4
15
+ self.template_digestor = ActionView::Digestor
16
+ elsif defined? CacheDigests::TemplateDigestor
17
+ # Attempt to use CacheDigests::TemplateDigestor on Rails 3
18
+ self.template_digestor = CacheDigests::TemplateDigestor
19
+ end
20
+ end
21
+
12
22
  private
13
23
 
14
24
  def set_defaults
@@ -22,13 +32,7 @@ class Ettu
22
32
  # self.view = "#{controller_name}/#{action_name}"
23
33
  delete :view if key? :view
24
34
 
25
- if defined? ActionView::Digestor
26
- # Attempt to use ActionView::Digestor on Rails 4
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
31
- end
35
+ attempt_late_template_digestor_set
32
36
  end
33
37
  end
34
38
  end
data/lib/ettu/railtie.rb CHANGED
@@ -20,8 +20,8 @@ class Ettu
20
20
  end
21
21
  end
22
22
  end
23
-
24
23
  end
24
+
25
25
  end
26
26
  end
27
27
  end
data/lib/ettu/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class Ettu
2
- VERSION = '0.0.7'
2
+ VERSION = '0.0.8'
3
3
  end
data/spec/fixtures.rb CHANGED
@@ -35,6 +35,9 @@ class Record
35
35
  end
36
36
 
37
37
  module Rails
38
+ module VERSION
39
+ MAJOR = ''
40
+ end
38
41
  def self.application
39
42
  @nested ||= Nester.new
40
43
  end
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.7
4
+ version: 0.0.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: '3.2'
21
+ version: '3.0'
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: '3.2'
29
+ version: '3.0'
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: bundler
32
32
  requirement: !ruby/object:Gem::Requirement