curly-templates 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -4,7 +4,7 @@ Gem::Specification.new do |s|
4
4
  s.rubygems_version = '1.3.5'
5
5
 
6
6
  s.name = 'curly-templates'
7
- s.version = '0.3.0'
7
+ s.version = '0.3.1'
8
8
  s.date = '2013-04-18'
9
9
 
10
10
  s.summary = "Free your views!"
@@ -26,7 +26,7 @@
26
26
  # See Curly::Presenter for more information on presenters.
27
27
  #
28
28
  module Curly
29
- VERSION = "0.3.0"
29
+ VERSION = "0.3.1"
30
30
 
31
31
  REFERENCE_REGEX = %r(\{\{(\w+)\}\})
32
32
 
@@ -119,7 +119,7 @@ module Curly
119
119
  end
120
120
 
121
121
  def presenter_for_path(path)
122
- presenter_name_for_path(path).constantize
122
+ presenter_name_for_path(path).constantize rescue nil
123
123
  end
124
124
 
125
125
  # A list of methods available to templates rendered with the presenter.
@@ -177,8 +177,11 @@ module Curly
177
177
 
178
178
  def compute_cache_key
179
179
  dependency_cache_keys = dependencies.map do |path|
180
- presenter = presenter_for_path(path)
181
- presenter.cache_key
180
+ if presenter = presenter_for_path(path)
181
+ presenter.cache_key
182
+ else
183
+ path
184
+ end
182
185
  end
183
186
 
184
187
  [name, version, dependency_cache_keys].flatten.join("/")
@@ -32,6 +32,10 @@ describe Curly::Presenter do
32
32
 
33
33
  Curly::Presenter.presenter_for_path("foo/bar").should == presenter
34
34
  end
35
+
36
+ it "returns nil if there is no presenter for the given path" do
37
+ Curly::Presenter.presenter_for_path("foo/bar").should be_nil
38
+ end
35
39
  end
36
40
 
37
41
  describe ".version" do
@@ -78,5 +82,17 @@ describe Curly::Presenter do
78
82
  cache_key = Foo::BarPresenter.cache_key
79
83
  cache_key.should == "Foo::BarPresenter/42/Foo::BumPresenter/1337"
80
84
  end
85
+
86
+ it "uses the view path of a dependency if there is no presenter for it" do
87
+ presenter = Class.new(Curly::Presenter) do
88
+ version 42
89
+ depends_on 'foo/bum'
90
+ end
91
+
92
+ stub_const("Foo::BarPresenter", presenter)
93
+
94
+ cache_key = Foo::BarPresenter.cache_key
95
+ cache_key.should == "Foo::BarPresenter/42/foo/bum"
96
+ end
81
97
  end
82
98
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: curly-templates
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -142,7 +142,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
142
142
  version: '0'
143
143
  segments:
144
144
  - 0
145
- hash: 1050384954956597031
145
+ hash: -1940230651346147654
146
146
  required_rubygems_version: !ruby/object:Gem::Requirement
147
147
  none: false
148
148
  requirements: