temple 0.1.8 → 0.2.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/README.md +7 -19
- data/lib/temple/engine.rb +32 -21
- data/lib/temple/erb/engine.rb +1 -1
- data/lib/temple/erb/parser.rb +2 -2
- data/lib/temple/filters/debugger.rb +1 -1
- data/lib/temple/filters/dynamic_inliner.rb +1 -1
- data/lib/temple/filters/escape_html.rb +16 -13
- data/lib/temple/filters/multi_flattener.rb +2 -2
- data/lib/temple/filters/static_merger.rb +1 -1
- data/lib/temple/generators.rb +10 -6
- data/lib/temple/html/dispatcher.rb +17 -0
- data/lib/temple/html/fast.rb +44 -19
- data/lib/temple/html/pretty.rb +19 -15
- data/lib/temple/mixins.rb +174 -23
- data/lib/temple/templates/rails.rb +34 -0
- data/lib/temple/templates/tilt.rb +30 -0
- data/lib/temple/templates.rb +13 -0
- data/lib/temple/utils.rb +54 -1
- data/lib/temple/version.rb +1 -1
- data/lib/temple.rb +2 -2
- data/temple.gemspec +10 -10
- data/test/filters/test_dynamic_inliner.rb +10 -10
- data/test/filters/test_escape_html.rb +10 -11
- data/test/filters/test_multi_flattener.rb +2 -2
- data/test/filters/test_static_merger.rb +3 -3
- data/test/html/test_fast.rb +26 -21
- data/test/html/test_pretty.rb +2 -2
- data/test/test_engine.rb +144 -0
- data/test/test_erb.rb +3 -2
- data/test/test_generator.rb +7 -7
- data/test/test_utils.rb +38 -0
- metadata +12 -5
- data/lib/temple/erb/template.rb +0 -7
- data/lib/temple/template.rb +0 -35
data/test/html/test_fast.rb
CHANGED
@@ -6,22 +6,22 @@ describe Temple::HTML::Fast do
|
|
6
6
|
end
|
7
7
|
|
8
8
|
it 'should compile html doctype' do
|
9
|
-
@html.
|
10
|
-
@html.
|
11
|
-
@html.
|
9
|
+
@html.call([:multi, [:html, :doctype, '5']]).should.equal [:multi, [:static, '<!DOCTYPE html>']]
|
10
|
+
@html.call([:multi, [:html, :doctype, 'html']]).should.equal [:multi, [:static, '<!DOCTYPE html>']]
|
11
|
+
@html.call([:multi, [:html, :doctype, '1.1']]).should.equal [:multi,
|
12
12
|
[:static, '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">']]
|
13
13
|
end
|
14
14
|
|
15
15
|
it 'should compile xml encoding' do
|
16
|
-
@html.
|
16
|
+
@html.call([:html, :doctype, 'xml latin1']).should.equal [:static, "<?xml version='1.0' encoding='latin1' ?>"]
|
17
17
|
end
|
18
18
|
|
19
19
|
it 'should compile html comment' do
|
20
|
-
@html.
|
20
|
+
@html.call([:html, :comment, 'test']).should.equal [:multi, [:static, "<!--"], "test", [:static, "-->"]]
|
21
21
|
end
|
22
22
|
|
23
23
|
it 'should compile autoclosed html tag' do
|
24
|
-
@html.
|
24
|
+
@html.call([:html, :tag,
|
25
25
|
'img', [:attrs],
|
26
26
|
false, [:multi]
|
27
27
|
]).should.equal [:multi,
|
@@ -32,7 +32,7 @@ describe Temple::HTML::Fast do
|
|
32
32
|
end
|
33
33
|
|
34
34
|
it 'should compile explicitly closed html tag' do
|
35
|
-
@html.
|
35
|
+
@html.call([:html, :tag,
|
36
36
|
'closed', [:attrs],
|
37
37
|
true, [:multi]
|
38
38
|
]).should.equal [:multi,
|
@@ -44,7 +44,7 @@ describe Temple::HTML::Fast do
|
|
44
44
|
|
45
45
|
it 'should raise error on closed tag with content' do
|
46
46
|
lambda {
|
47
|
-
@html.
|
47
|
+
@html.call([:html, :tag,
|
48
48
|
'img', [:attrs],
|
49
49
|
false, [:content]
|
50
50
|
])
|
@@ -52,7 +52,7 @@ describe Temple::HTML::Fast do
|
|
52
52
|
end
|
53
53
|
|
54
54
|
it 'should compile html with content' do
|
55
|
-
@html.
|
55
|
+
@html.call([:html, :tag,
|
56
56
|
'div', [:attrs],
|
57
57
|
false, [:content]
|
58
58
|
]).should.equal [:multi,
|
@@ -64,7 +64,7 @@ describe Temple::HTML::Fast do
|
|
64
64
|
end
|
65
65
|
|
66
66
|
it 'should compile html with static attrs' do
|
67
|
-
@html.
|
67
|
+
@html.call([:html, :tag,
|
68
68
|
'div',
|
69
69
|
[:html, :staticattrs,
|
70
70
|
['id', [:static, 'test']],
|
@@ -75,12 +75,17 @@ describe Temple::HTML::Fast do
|
|
75
75
|
"<div"],
|
76
76
|
[:multi,
|
77
77
|
[:multi,
|
78
|
-
[:
|
79
|
-
|
80
|
-
[:
|
81
|
-
[:
|
82
|
-
|
83
|
-
|
78
|
+
[:capture, "_temple_htmlattr1",
|
79
|
+
[:dynamic, "block"]],
|
80
|
+
[:block, "unless _temple_htmlattr1.empty?"],
|
81
|
+
[:multi,
|
82
|
+
[:static, " "],
|
83
|
+
[:static, "class"],
|
84
|
+
[:static, "="],
|
85
|
+
[:static, "'"],
|
86
|
+
[:dynamic, "_temple_htmlattr1"],
|
87
|
+
[:static, "'"]],
|
88
|
+
[:block, "end"]],
|
84
89
|
[:multi,
|
85
90
|
[:static, " "],
|
86
91
|
[:static, "id"],
|
@@ -94,7 +99,7 @@ describe Temple::HTML::Fast do
|
|
94
99
|
end
|
95
100
|
|
96
101
|
it 'should compile html with merged ids' do
|
97
|
-
@html.
|
102
|
+
@html.call([:html, :tag,
|
98
103
|
'div', [:html, :staticattrs, ['id', [:static, 'a']], ['id', [:dynamic, 'b']]],
|
99
104
|
false, [:content]
|
100
105
|
]).should.equal [:multi,
|
@@ -116,7 +121,7 @@ describe Temple::HTML::Fast do
|
|
116
121
|
end
|
117
122
|
|
118
123
|
it 'should compile html with merged classes' do
|
119
|
-
@html.
|
124
|
+
@html.call([:html, :tag,
|
120
125
|
'div', [:html, :staticattrs, ['class', [:static, 'a']], ['class', [:dynamic, 'b']]],
|
121
126
|
false, [:content]
|
122
127
|
]).should.equal [:multi,
|
@@ -139,16 +144,16 @@ describe Temple::HTML::Fast do
|
|
139
144
|
|
140
145
|
it 'should keep blocks intact' do
|
141
146
|
exp = [:multi, [:block, 'foo']]
|
142
|
-
@html.
|
147
|
+
@html.call(exp).should.equal exp
|
143
148
|
end
|
144
149
|
|
145
150
|
it 'should keep statics intact' do
|
146
151
|
exp = [:multi, [:static, '<']]
|
147
|
-
@html.
|
152
|
+
@html.call(exp).should.equal exp
|
148
153
|
end
|
149
154
|
|
150
155
|
it 'should keep dynamic intact' do
|
151
156
|
exp = [:multi, [:dynamic, 'foo']]
|
152
|
-
@html.
|
157
|
+
@html.call(exp).should.equal exp
|
153
158
|
end
|
154
159
|
end
|
data/test/html/test_pretty.rb
CHANGED
@@ -6,7 +6,7 @@ describe Temple::HTML::Pretty do
|
|
6
6
|
end
|
7
7
|
|
8
8
|
it 'should indent nested tags' do
|
9
|
-
@html.
|
9
|
+
@html.call([:html, :tag, 'div', [:multi], false,
|
10
10
|
[:html, :tag, 'p', [:multi], false, [:multi, [:static, 'text'], [:dynamic, 'code']]]
|
11
11
|
]).should.equal [:multi,
|
12
12
|
[:block, "_temple_pre_tags = /<pre|<textarea/"],
|
@@ -27,7 +27,7 @@ describe Temple::HTML::Pretty do
|
|
27
27
|
|
28
28
|
|
29
29
|
it 'should not indent preformatted tags' do
|
30
|
-
@html.
|
30
|
+
@html.call([:html, :tag, 'pre', [:multi], false,
|
31
31
|
[:html, :tag, 'p', [:multi], false, [:static, 'text']]
|
32
32
|
]).should.equal [:multi,
|
33
33
|
[:block, "_temple_pre_tags = /<pre|<textarea/"],
|
data/test/test_engine.rb
ADDED
@@ -0,0 +1,144 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class OtherCallable
|
5
|
+
def call(exp)
|
6
|
+
exp
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
class TestEngine < Temple::Engine
|
11
|
+
use(:Parser) do |input|
|
12
|
+
[:static, input]
|
13
|
+
end
|
14
|
+
use :MyFilter1, proc {|exp| exp }
|
15
|
+
use :MyFilter2, proc {|exp| exp }
|
16
|
+
use Temple::HTML::Pretty, :format, :pretty => true
|
17
|
+
filter :MultiFlattener
|
18
|
+
generator :ArrayBuffer
|
19
|
+
use :FinalFilter, OtherCallable.new
|
20
|
+
end
|
21
|
+
|
22
|
+
describe Temple::Engine do
|
23
|
+
it 'should build chain' do
|
24
|
+
TestEngine.chain.size.should.equal 7
|
25
|
+
|
26
|
+
TestEngine.chain[0].first.should.equal :Parser
|
27
|
+
TestEngine.chain[0].size.should.equal 2
|
28
|
+
TestEngine.chain[0].last.should.be.instance_of UnboundMethod
|
29
|
+
|
30
|
+
TestEngine.chain[1].first.should.equal :MyFilter1
|
31
|
+
TestEngine.chain[1].size.should.equal 2
|
32
|
+
TestEngine.chain[1].last.should.be.instance_of UnboundMethod
|
33
|
+
|
34
|
+
TestEngine.chain[2].first.should.equal :MyFilter2
|
35
|
+
TestEngine.chain[2].size.should.equal 2
|
36
|
+
TestEngine.chain[2].last.should.be.instance_of UnboundMethod
|
37
|
+
|
38
|
+
TestEngine.chain[3].size.should.equal 4
|
39
|
+
TestEngine.chain[3].should.equal [:'Temple::HTML::Pretty', Temple::HTML::Pretty, [:format], {:pretty => true}]
|
40
|
+
|
41
|
+
TestEngine.chain[4].size.should.equal 4
|
42
|
+
TestEngine.chain[4].should.equal [:MultiFlattener, Temple::Filters::MultiFlattener, [], nil]
|
43
|
+
|
44
|
+
TestEngine.chain[5].size.should.equal 4
|
45
|
+
TestEngine.chain[5].should.equal [:ArrayBuffer, Temple::Generators::ArrayBuffer, [], nil]
|
46
|
+
|
47
|
+
TestEngine.chain[6].size.should.equal 2
|
48
|
+
TestEngine.chain[6][0].should.equal :FinalFilter
|
49
|
+
TestEngine.chain[6][1].should.be.instance_of OtherCallable
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'should instantiate chain' do
|
53
|
+
e = TestEngine.new
|
54
|
+
e.chain[0].should.be.instance_of Method
|
55
|
+
e.chain[1].should.be.instance_of Method
|
56
|
+
e.chain[2].should.be.instance_of Method
|
57
|
+
e.chain[3].should.be.instance_of Temple::HTML::Pretty
|
58
|
+
e.chain[4].should.be.instance_of Temple::Filters::MultiFlattener
|
59
|
+
e.chain[5].should.be.instance_of Temple::Generators::ArrayBuffer
|
60
|
+
e.chain[6].should.be.instance_of OtherCallable
|
61
|
+
end
|
62
|
+
|
63
|
+
it 'should have #append' do
|
64
|
+
e = TestEngine.new do |engine|
|
65
|
+
engine.append :MyFilter3 do |exp|
|
66
|
+
exp
|
67
|
+
end
|
68
|
+
engine.chain.size.should.equal 8
|
69
|
+
engine.chain[7].first.should.equal :MyFilter3
|
70
|
+
engine.chain[7].size.should.equal 2
|
71
|
+
engine.chain[7].last.should.be.instance_of Method
|
72
|
+
end
|
73
|
+
e.chain.size.should.equal 8
|
74
|
+
e.chain[7].should.be.instance_of Method
|
75
|
+
end
|
76
|
+
|
77
|
+
it 'should have #prepend' do
|
78
|
+
e = TestEngine.new do |engine|
|
79
|
+
engine.prepend :MyFilter0 do |exp|
|
80
|
+
exp
|
81
|
+
end
|
82
|
+
engine.chain.size.should.equal 8
|
83
|
+
engine.chain[0].first.should.equal :MyFilter0
|
84
|
+
engine.chain[0].size.should.equal 2
|
85
|
+
engine.chain[0].last.should.be.instance_of Method
|
86
|
+
engine.chain[1].first.should.equal :Parser
|
87
|
+
end
|
88
|
+
e.chain.size.should.equal 8
|
89
|
+
e.chain[0].should.be.instance_of Method
|
90
|
+
end
|
91
|
+
|
92
|
+
it 'should have #after' do
|
93
|
+
e = TestEngine.new do |engine|
|
94
|
+
engine.after :Parser, :MyFilter0 do |exp|
|
95
|
+
exp
|
96
|
+
end
|
97
|
+
engine.chain.size.should.equal 8
|
98
|
+
engine.chain[0].first.should.equal :Parser
|
99
|
+
engine.chain[1].first.should.equal :MyFilter0
|
100
|
+
engine.chain[2].first.should.equal :MyFilter1
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
it 'should have #before' do
|
105
|
+
e = TestEngine.new do |engine|
|
106
|
+
engine.before :MyFilter1, :MyFilter0 do |exp|
|
107
|
+
exp
|
108
|
+
end
|
109
|
+
engine.chain.size.should.equal 8
|
110
|
+
engine.chain[0].first.should.equal :Parser
|
111
|
+
engine.chain[1].first.should.equal :MyFilter0
|
112
|
+
engine.chain[2].first.should.equal :MyFilter1
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
it 'should have #remove' do
|
117
|
+
e = TestEngine.new do |engine|
|
118
|
+
engine.remove :MyFilter1
|
119
|
+
engine.chain.size.should.equal 6
|
120
|
+
engine.chain[0].first.should.equal :Parser
|
121
|
+
engine.chain[1].first.should.equal :MyFilter2
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
125
|
+
it 'should have #replace' do
|
126
|
+
e = TestEngine.new do |engine|
|
127
|
+
engine.before :Parser, :MyParser do |exp|
|
128
|
+
exp
|
129
|
+
end
|
130
|
+
engine.chain.size.should.equal 8
|
131
|
+
engine.chain[0].first.should.equal :MyParser
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
it 'should work with inheritance' do
|
136
|
+
inherited_engine = Class.new(TestEngine)
|
137
|
+
inherited_engine.chain.size.should.equal 7
|
138
|
+
inherited_engine.append :MyFilter3 do |exp|
|
139
|
+
exp
|
140
|
+
end
|
141
|
+
inherited_engine.chain.size.should.equal 8
|
142
|
+
TestEngine.chain.size.should.equal 7
|
143
|
+
end
|
144
|
+
end
|
data/test/test_erb.rb
CHANGED
@@ -1,13 +1,14 @@
|
|
1
1
|
require 'helper'
|
2
2
|
require 'erb'
|
3
|
+
require 'tilt'
|
3
4
|
|
4
5
|
class Bacon::Context
|
5
6
|
def erb(src, options = {})
|
6
|
-
Temple::ERB::
|
7
|
+
Temple::Templates::Tilt(Temple::ERB::Engine).new(options) { src }.render
|
7
8
|
end
|
8
9
|
end
|
9
10
|
|
10
|
-
describe Temple::ERB::
|
11
|
+
describe Temple::ERB::Engine do
|
11
12
|
|
12
13
|
it 'should compile erb' do
|
13
14
|
src = %q{
|
data/test/test_generator.rb
CHANGED
@@ -26,14 +26,14 @@ describe Temple::Generator do
|
|
26
26
|
it 'should compile simple expressions' do
|
27
27
|
gen = SimpleGenerator.new
|
28
28
|
|
29
|
-
gen.
|
30
|
-
gen.
|
31
|
-
gen.
|
29
|
+
gen.call([:static, "test"]).should.match(/ << \(S:test\)/)
|
30
|
+
gen.call([:dynamic, "test"]).should.match(/ << \(D:test\)/)
|
31
|
+
gen.call([:block, "test"]).should.match(/B:test/)
|
32
32
|
end
|
33
33
|
|
34
34
|
it 'should compile multi expression' do
|
35
35
|
gen = SimpleGenerator.new(:buffer => "VAR")
|
36
|
-
str = gen.
|
36
|
+
str = gen.call([:multi,
|
37
37
|
[:static, "static"],
|
38
38
|
[:dynamic, "dynamic"],
|
39
39
|
[:block, "block"]
|
@@ -47,7 +47,7 @@ describe Temple::Generator do
|
|
47
47
|
|
48
48
|
it 'should compile capture' do
|
49
49
|
gen = SimpleGenerator.new(:buffer => "VAR", :capture_generator => SimpleGenerator)
|
50
|
-
str = gen.
|
50
|
+
str = gen.call([:capture, "foo", [:static, "test"]])
|
51
51
|
|
52
52
|
str.should.match(/foo = BUFFER/)
|
53
53
|
str.should.match(/foo << \(S:test\)/)
|
@@ -56,7 +56,7 @@ describe Temple::Generator do
|
|
56
56
|
|
57
57
|
it 'should compile capture with multi' do
|
58
58
|
gen = SimpleGenerator.new(:buffer => "VAR", :capture_generator => SimpleGenerator)
|
59
|
-
str = gen.
|
59
|
+
str = gen.call([:multi,
|
60
60
|
[:static, "before"],
|
61
61
|
|
62
62
|
[:capture, "foo", [:multi,
|
@@ -78,7 +78,7 @@ describe Temple::Generator do
|
|
78
78
|
|
79
79
|
it 'should compile newlines' do
|
80
80
|
gen = SimpleGenerator.new(:buffer => "VAR")
|
81
|
-
str = gen.
|
81
|
+
str = gen.call([:multi,
|
82
82
|
[:static, "static"],
|
83
83
|
[:newline],
|
84
84
|
[:dynamic, "dynamic"],
|
data/test/test_utils.rb
CHANGED
@@ -26,3 +26,41 @@ describe Temple::Utils do
|
|
26
26
|
end
|
27
27
|
end
|
28
28
|
end
|
29
|
+
|
30
|
+
describe Temple::Utils::ImmutableHash do
|
31
|
+
it 'has read accessor' do
|
32
|
+
hash = Temple::Utils::ImmutableHash.new({:a => 1},{:b => 2, :a => 3})
|
33
|
+
hash[:a].should.equal 1
|
34
|
+
hash[:b].should.equal 2
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'has include?' do
|
38
|
+
hash = Temple::Utils::ImmutableHash.new({:a => 1},{:b => 2, :a => 3})
|
39
|
+
hash.should.include :a
|
40
|
+
hash.should.include :b
|
41
|
+
hash.should.not.include :c
|
42
|
+
end
|
43
|
+
|
44
|
+
it 'has values' do
|
45
|
+
Temple::Utils::ImmutableHash.new({:a => 1},{:b => 2, :a => 3}).values.sort.should.equal [1,2]
|
46
|
+
end
|
47
|
+
|
48
|
+
it 'has keys' do
|
49
|
+
Temple::Utils::ImmutableHash.new({:a => 1},{:b => 2, :a => 3}).keys.should.equal [:a,:b]
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'has to_a' do
|
53
|
+
Temple::Utils::ImmutableHash.new({:a => 1},{:b => 2, :a => 3}).to_a.should.equal [[:a, 1], [:b, 2]]
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
describe Temple::Utils::MutableHash do
|
58
|
+
it 'has write accessor' do
|
59
|
+
parent = {:a => 1}
|
60
|
+
hash = Temple::Utils::MutableHash.new(parent)
|
61
|
+
hash[:a].should.equal 1
|
62
|
+
hash[:a] = 2
|
63
|
+
hash[:a].should.equal 2
|
64
|
+
parent[:a].should.equal 1
|
65
|
+
end
|
66
|
+
end
|
metadata
CHANGED
@@ -2,15 +2,16 @@
|
|
2
2
|
name: temple
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.
|
5
|
+
version: 0.2.0
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Magnus Holm
|
9
|
+
- Daniel Mendler
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
13
|
|
13
|
-
date: 2011-03-
|
14
|
+
date: 2011-03-30 00:00:00 +02:00
|
14
15
|
default_executable:
|
15
16
|
dependencies:
|
16
17
|
- !ruby/object:Gem::Dependency
|
@@ -36,7 +37,9 @@ dependencies:
|
|
36
37
|
type: :development
|
37
38
|
version_requirements: *id002
|
38
39
|
description:
|
39
|
-
email:
|
40
|
+
email:
|
41
|
+
- judofyr@gmail.com
|
42
|
+
- mail@daniel-mendler.de
|
40
43
|
executables: []
|
41
44
|
|
42
45
|
extensions: []
|
@@ -53,7 +56,6 @@ files:
|
|
53
56
|
- lib/temple/engine.rb
|
54
57
|
- lib/temple/erb/engine.rb
|
55
58
|
- lib/temple/erb/parser.rb
|
56
|
-
- lib/temple/erb/template.rb
|
57
59
|
- lib/temple/erb/trimming.rb
|
58
60
|
- lib/temple/filter.rb
|
59
61
|
- lib/temple/filters/debugger.rb
|
@@ -62,10 +64,13 @@ files:
|
|
62
64
|
- lib/temple/filters/multi_flattener.rb
|
63
65
|
- lib/temple/filters/static_merger.rb
|
64
66
|
- lib/temple/generators.rb
|
67
|
+
- lib/temple/html/dispatcher.rb
|
65
68
|
- lib/temple/html/fast.rb
|
66
69
|
- lib/temple/html/pretty.rb
|
67
70
|
- lib/temple/mixins.rb
|
68
|
-
- lib/temple/
|
71
|
+
- lib/temple/templates.rb
|
72
|
+
- lib/temple/templates/rails.rb
|
73
|
+
- lib/temple/templates/tilt.rb
|
69
74
|
- lib/temple/utils.rb
|
70
75
|
- lib/temple/version.rb
|
71
76
|
- temple.gemspec
|
@@ -76,6 +81,7 @@ files:
|
|
76
81
|
- test/helper.rb
|
77
82
|
- test/html/test_fast.rb
|
78
83
|
- test/html/test_pretty.rb
|
84
|
+
- test/test_engine.rb
|
79
85
|
- test/test_erb.rb
|
80
86
|
- test/test_generator.rb
|
81
87
|
- test/test_utils.rb
|
@@ -115,6 +121,7 @@ test_files:
|
|
115
121
|
- test/helper.rb
|
116
122
|
- test/html/test_fast.rb
|
117
123
|
- test/html/test_pretty.rb
|
124
|
+
- test/test_engine.rb
|
118
125
|
- test/test_erb.rb
|
119
126
|
- test/test_generator.rb
|
120
127
|
- test/test_utils.rb
|
data/lib/temple/erb/template.rb
DELETED
data/lib/temple/template.rb
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
require 'tilt'
|
2
|
-
|
3
|
-
module Temple
|
4
|
-
# Tilt template implementation for Temple
|
5
|
-
class Template < Tilt::Template
|
6
|
-
class << self
|
7
|
-
def engine(engine = nil)
|
8
|
-
if engine
|
9
|
-
@engine = engine
|
10
|
-
elsif @engine
|
11
|
-
@engine
|
12
|
-
else
|
13
|
-
raise 'No engine configured'
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
# Prepare Temple template
|
19
|
-
#
|
20
|
-
# Called immediately after template data is loaded.
|
21
|
-
#
|
22
|
-
# @return [void]
|
23
|
-
def prepare
|
24
|
-
@src = self.class.engine.new(options.merge(:file => eval_file)).compile(data)
|
25
|
-
end
|
26
|
-
|
27
|
-
# A string containing the (Ruby) source code for the template.
|
28
|
-
#
|
29
|
-
# @param [Hash] locals Local variables
|
30
|
-
# @return [String] Compiled template ruby code
|
31
|
-
def precompiled_template(locals = {})
|
32
|
-
@src
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|