tiltout 1.2.0 → 1.3.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/.travis.yml +11 -0
- data/Gemfile.lock +1 -1
- data/Readme.md +4 -0
- data/lib/tiltout.rb +13 -5
- data/lib/tiltout/version.rb +1 -1
- data/test/tiltout_test.rb +21 -0
- metadata +74 -87
data/.travis.yml
ADDED
data/Gemfile.lock
CHANGED
data/Readme.md
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
# Tiltout
|
2
2
|
|
3
|
+
<a href="http://travis-ci.org/cjohansen/tiltout" class="travis">
|
4
|
+
<img src="https://secure.travis-ci.org/cjohansen/tiltout.png">
|
5
|
+
</a>
|
6
|
+
|
3
7
|
## Tilt templates with layouts and helpers
|
4
8
|
|
5
9
|
Tiltout is a small abstraction over Tilt that allows you to render templates
|
data/lib/tiltout.rb
CHANGED
@@ -33,12 +33,13 @@ class Tiltout
|
|
33
33
|
@layout = opt[:layout]
|
34
34
|
@default_type = opt[:default_type] || "erb"
|
35
35
|
@context_class = Class.new
|
36
|
-
(opt[:helpers]
|
36
|
+
helper(opt[:helpers])
|
37
37
|
end
|
38
38
|
|
39
|
-
def helper(
|
40
|
-
|
41
|
-
|
39
|
+
def helper(helpers)
|
40
|
+
return if helpers.nil?
|
41
|
+
helpers = [helpers] unless helpers.is_a?(Array)
|
42
|
+
helpers.each { |h| @context_class.send(:include, helper_module(h)) }
|
42
43
|
end
|
43
44
|
|
44
45
|
def render(template, locals = {}, options = {})
|
@@ -49,7 +50,6 @@ class Tiltout
|
|
49
50
|
|
50
51
|
if !layout_tpl.nil?
|
51
52
|
content = render_in_context(context, layout_tpl, locals) { content }
|
52
|
-
#content = load(layout_tpl).render(context, locals) { content }
|
53
53
|
end
|
54
54
|
|
55
55
|
content
|
@@ -82,4 +82,12 @@ class Tiltout
|
|
82
82
|
def cached?(name)
|
83
83
|
@cache && !!@cache[name]
|
84
84
|
end
|
85
|
+
|
86
|
+
def helper_module(mod)
|
87
|
+
return mod if mod.is_a?(Module)
|
88
|
+
mod.keys.inject(Module.new) do |helper, attr|
|
89
|
+
helper.send(:define_method, attr) { mod[attr] }
|
90
|
+
helper
|
91
|
+
end
|
92
|
+
end
|
85
93
|
end
|
data/lib/tiltout/version.rb
CHANGED
data/test/tiltout_test.rb
CHANGED
@@ -86,6 +86,17 @@ I give you: <%= yield %>
|
|
86
86
|
assert_equal "I give you: Template\n", renderer.render(:file)
|
87
87
|
end
|
88
88
|
|
89
|
+
it "renders template not in template root" do
|
90
|
+
renderer = Tiltout.new("/else")
|
91
|
+
fake_file("/somewhere/file.erb", "Template")
|
92
|
+
fake_file("/my/layout.erb", <<-ERB)
|
93
|
+
I give you: <%= yield %>
|
94
|
+
ERB
|
95
|
+
|
96
|
+
template = { :file => "/somewhere/file.erb" }
|
97
|
+
assert_equal "Template", renderer.render(template)
|
98
|
+
end
|
99
|
+
|
89
100
|
it "renders template with layout not in template root" do
|
90
101
|
renderer = Tiltout.new("/somewhere", :layout => { :file => "/my/layout.erb" })
|
91
102
|
fake_file("/somewhere/file.erb", "Template")
|
@@ -157,6 +168,16 @@ Say it: <%= say_it %>
|
|
157
168
|
assert_equal "Say it: YES\n", renderer.render(:file)
|
158
169
|
end
|
159
170
|
|
171
|
+
it "uses hash as helper" do
|
172
|
+
renderer = Tiltout.new("/")
|
173
|
+
renderer.helper(:say_it => 42, "do_it" => 12)
|
174
|
+
fake_file("/file.erb", <<-ERB)
|
175
|
+
Say it: <%= say_it %>, <%= do_it %>
|
176
|
+
ERB
|
177
|
+
|
178
|
+
assert_equal "Say it: 42, 12\n", renderer.render(:file)
|
179
|
+
end
|
180
|
+
|
160
181
|
it "does not leak state across render calls" do
|
161
182
|
renderer = Tiltout.new("/")
|
162
183
|
fake_file("/file.erb", <<-TEMPLATE)
|
metadata
CHANGED
@@ -1,96 +1,94 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: tiltout
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.3.0
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 2
|
9
|
-
- 0
|
10
|
-
version: 1.2.0
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Christian Johansen
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-11-29 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
22
15
|
name: tilt
|
23
|
-
|
24
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
25
17
|
none: false
|
26
|
-
requirements:
|
18
|
+
requirements:
|
27
19
|
- - ~>
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
segments:
|
31
|
-
- 1
|
32
|
-
- 3
|
33
|
-
version: "1.3"
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '1.3'
|
34
22
|
type: :runtime
|
35
|
-
version_requirements: *id001
|
36
|
-
- !ruby/object:Gem::Dependency
|
37
|
-
name: minitest
|
38
23
|
prerelease: false
|
39
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
25
|
none: false
|
41
|
-
requirements:
|
26
|
+
requirements:
|
42
27
|
- - ~>
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.3'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: minitest
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ~>
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '2.0'
|
49
38
|
type: :development
|
50
|
-
version_requirements: *id002
|
51
|
-
- !ruby/object:Gem::Dependency
|
52
|
-
name: rake
|
53
39
|
prerelease: false
|
54
|
-
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
55
41
|
none: false
|
56
|
-
requirements:
|
42
|
+
requirements:
|
57
43
|
- - ~>
|
58
|
-
- !ruby/object:Gem::Version
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '2.0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: rake
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ~>
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0.9'
|
64
54
|
type: :development
|
65
|
-
version_requirements: *id003
|
66
|
-
- !ruby/object:Gem::Dependency
|
67
|
-
name: mocha
|
68
55
|
prerelease: false
|
69
|
-
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
70
57
|
none: false
|
71
|
-
requirements:
|
72
|
-
- -
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0.9'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: mocha
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
78
70
|
type: :development
|
79
|
-
|
80
|
-
|
81
|
-
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
description: ! 'Tiltout is a small abstraction on top of Tilt that allows you to render
|
79
|
+
|
82
80
|
templates with optional layouts, share state between layout and template,
|
81
|
+
|
83
82
|
register helper modules and optionally cache templates.
|
84
83
|
|
85
|
-
|
84
|
+
'
|
85
|
+
email:
|
86
86
|
- christian@gitorious.org
|
87
87
|
executables: []
|
88
|
-
|
89
88
|
extensions: []
|
90
|
-
|
91
89
|
extra_rdoc_files: []
|
92
|
-
|
93
|
-
|
90
|
+
files:
|
91
|
+
- .travis.yml
|
94
92
|
- Gemfile
|
95
93
|
- Gemfile.lock
|
96
94
|
- Rakefile
|
@@ -100,39 +98,28 @@ files:
|
|
100
98
|
- lib/tiltout/version.rb
|
101
99
|
- test/tiltout_test.rb
|
102
100
|
- tiltout.gemspec
|
103
|
-
has_rdoc: true
|
104
101
|
homepage: http://gitorious.org/gitorious/tiltout
|
105
102
|
licenses: []
|
106
|
-
|
107
103
|
post_install_message:
|
108
104
|
rdoc_options: []
|
109
|
-
|
110
|
-
require_paths:
|
105
|
+
require_paths:
|
111
106
|
- lib
|
112
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
107
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
113
108
|
none: false
|
114
|
-
requirements:
|
115
|
-
- -
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
|
118
|
-
|
119
|
-
- 0
|
120
|
-
version: "0"
|
121
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
109
|
+
requirements:
|
110
|
+
- - ! '>='
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: '0'
|
113
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
122
114
|
none: false
|
123
|
-
requirements:
|
124
|
-
- -
|
125
|
-
- !ruby/object:Gem::Version
|
126
|
-
|
127
|
-
segments:
|
128
|
-
- 0
|
129
|
-
version: "0"
|
115
|
+
requirements:
|
116
|
+
- - ! '>='
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '0'
|
130
119
|
requirements: []
|
131
|
-
|
132
120
|
rubyforge_project:
|
133
|
-
rubygems_version: 1.
|
121
|
+
rubygems_version: 1.8.24
|
134
122
|
signing_key:
|
135
123
|
specification_version: 3
|
136
124
|
summary: Tilt templates with layouts and helpers
|
137
125
|
test_files: []
|
138
|
-
|