tiltout 1.3.0 → 1.4.0
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/Gemfile.lock +1 -1
- data/lib/tiltout.rb +10 -4
- data/lib/tiltout/version.rb +1 -1
- data/test/tiltout_test.rb +23 -3
- metadata +2 -2
data/Gemfile.lock
CHANGED
data/lib/tiltout.rb
CHANGED
@@ -27,8 +27,10 @@ require "tiltout/version"
|
|
27
27
|
require "tiltout/partials"
|
28
28
|
|
29
29
|
class Tiltout
|
30
|
+
attr_reader :paths
|
31
|
+
|
30
32
|
def initialize(template_root, opt = {})
|
31
|
-
@
|
33
|
+
@paths = Array(template_root)
|
32
34
|
@cache = {} if !opt.key?(:cache) || opt[:cache]
|
33
35
|
@layout = opt[:layout]
|
34
36
|
@default_type = opt[:default_type] || "erb"
|
@@ -70,9 +72,13 @@ class Tiltout
|
|
70
72
|
|
71
73
|
def find_file(name)
|
72
74
|
return name[:file] if name.is_a?(Hash)
|
73
|
-
|
74
|
-
|
75
|
-
|
75
|
+
paths.each do |path|
|
76
|
+
full_name = File.join(path, name.to_s)
|
77
|
+
return full_name if cached?(full_name) || File.exists?(full_name)
|
78
|
+
full_name = File.join(path, "#{name}.#{@default_type}")
|
79
|
+
return full_name if cached?(full_name) || File.exists?(full_name)
|
80
|
+
end
|
81
|
+
nil
|
76
82
|
end
|
77
83
|
|
78
84
|
def cache(name, template)
|
data/lib/tiltout/version.rb
CHANGED
data/test/tiltout_test.rb
CHANGED
@@ -32,19 +32,22 @@ module ViewHelper
|
|
32
32
|
end
|
33
33
|
|
34
34
|
describe Tiltout do
|
35
|
-
before
|
35
|
+
before do
|
36
|
+
@root = "/dolt/views"
|
37
|
+
File.stubs(:exists?).returns(false)
|
38
|
+
end
|
36
39
|
|
37
40
|
def file_read
|
38
41
|
File.respond_to?(:binread) ? :binread : :read
|
39
42
|
end
|
40
43
|
|
41
44
|
def fake_file(file, content)
|
42
|
-
File.stubs(:
|
45
|
+
File.stubs(:exists?).with(file).returns(true)
|
43
46
|
File.stubs(file_read).with(file).returns(content)
|
44
47
|
end
|
45
48
|
|
46
49
|
it "reads template from file" do
|
47
|
-
|
50
|
+
fake_file("/dolt/views/file.erb", "")
|
48
51
|
renderer = Tiltout.new("/dolt/views")
|
49
52
|
renderer.render(:file)
|
50
53
|
end
|
@@ -222,4 +225,21 @@ Say it: <%= say_it %>, <%= do_it %>
|
|
222
225
|
assert_equal "Chris is partial\n", renderer.render(:file)
|
223
226
|
end
|
224
227
|
end
|
228
|
+
|
229
|
+
describe "multiple view paths" do
|
230
|
+
it "uses the first available template" do
|
231
|
+
fake_file("/dolt/views/file.erb", "#1")
|
232
|
+
fake_file("/tlod/views/file.erb", "#2")
|
233
|
+
renderer = Tiltout.new(["/dolt/views", "/tlod/views"])
|
234
|
+
|
235
|
+
assert_equal "#1", renderer.render(:file)
|
236
|
+
end
|
237
|
+
|
238
|
+
it "uses only available template" do
|
239
|
+
fake_file("/tlod/views/file.erb", "#2")
|
240
|
+
renderer = Tiltout.new(["/dolt/views", "/tlod/views"])
|
241
|
+
|
242
|
+
assert_equal "#2", renderer.render(:file)
|
243
|
+
end
|
244
|
+
end
|
225
245
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tiltout
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.0
|
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: 2012-
|
12
|
+
date: 2012-12-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: tilt
|