ettu 0.0.7 → 0.0.8

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