undies 2.2.1 → 3.0.0.rc.1
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/ARCH.md +116 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +20 -4
- data/LICENSE +22 -0
- data/README.md +343 -0
- data/Rakefile +25 -17
- data/bench/bench_runner.rb +132 -12
- data/bench/large.html.erb +9 -13
- data/bench/large.html.haml +11 -0
- data/bench/large.html.rb +8 -12
- data/bench/profiler +1 -1
- data/bench/profiler_runner.rb +2 -5
- data/bench/small.html.erb +9 -13
- data/bench/small.html.haml +11 -0
- data/bench/small.html.rb +8 -12
- data/bench/verylarge.html.erb +9 -13
- data/bench/verylarge.html.haml +11 -0
- data/bench/verylarge.html.rb +8 -12
- data/lib/undies/api.rb +163 -0
- data/lib/undies/element.rb +160 -80
- data/lib/undies/element_node.rb +116 -0
- data/lib/undies/io.rb +43 -0
- data/lib/undies/root_node.rb +62 -0
- data/lib/undies/source.rb +78 -2
- data/lib/undies/template.rb +17 -131
- data/lib/undies/version.rb +1 -1
- data/lib/undies.rb +3 -2
- data/test/element_closed_test.rb +69 -0
- data/test/element_node_test.rb +274 -0
- data/test/element_open_test.rb +101 -0
- data/test/element_test.rb +23 -196
- data/test/fixtures/write_thing.rb +4 -4
- data/test/helper.rb +84 -0
- data/test/io_test.rb +104 -0
- data/test/named_source_test.rb +1 -1
- data/test/raw_test.rb +25 -0
- data/test/root_node_test.rb +108 -0
- data/test/source_stack_test.rb +1 -1
- data/test/template_builder_render_test.rb +4 -9
- data/test/template_source_render_test.rb +16 -20
- data/test/template_test.rb +87 -80
- data/test/templates/content.html.rb +1 -1
- data/test/templates/test.html.rb +1 -1
- data/undies.gemspec +1 -0
- metadata +52 -23
- data/README.rdoc +0 -203
- data/lib/undies/named_source.rb +0 -54
- data/lib/undies/node.rb +0 -87
- data/lib/undies/node_stack.rb +0 -111
- data/lib/undies/output.rb +0 -31
- data/lib/undies/source_stack.rb +0 -22
- data/test/node_stack_test.rb +0 -109
- data/test/node_test.rb +0 -91
- data/test/output_test.rb +0 -69
@@ -1,7 +1,4 @@
|
|
1
1
|
require "assert"
|
2
|
-
require "stringio"
|
3
|
-
require 'undies/node_stack'
|
4
|
-
|
5
2
|
require "undies/template"
|
6
3
|
|
7
4
|
class Undies::Template
|
@@ -12,19 +9,17 @@ class Undies::Template
|
|
12
9
|
desc 'a template rendered using a source object'
|
13
10
|
before do
|
14
11
|
@src = Undies::Source.new(Proc.new {})
|
15
|
-
@
|
16
|
-
@t = Undies::Template.new(@src, {}, @
|
12
|
+
@io = Undies::IO.new(@out = "")
|
13
|
+
@t = Undies::Template.new(@src, {}, @io)
|
17
14
|
end
|
18
15
|
subject { @t }
|
19
16
|
|
20
17
|
should "maintain the template's scope throughout the build blocks" do
|
21
18
|
templ = Undies::Template.new(Undies::Source.new do
|
22
19
|
_div {
|
23
|
-
_div
|
24
|
-
__ self.object_id
|
25
|
-
}
|
20
|
+
_div self.object_id
|
26
21
|
}
|
27
|
-
end, {}, @
|
22
|
+
end, {}, @io)
|
28
23
|
assert_equal "<div><div>#{templ.object_id}</div></div>", @out
|
29
24
|
end
|
30
25
|
|
@@ -47,7 +42,7 @@ class Undies::Template
|
|
47
42
|
@layout_file = File.expand_path "test/templates/layout.html.rb"
|
48
43
|
|
49
44
|
@content_proc = Proc.new do
|
50
|
-
_div
|
45
|
+
_div "Hi"
|
51
46
|
end
|
52
47
|
@content_file = File.expand_path "test/templates/content.html.rb"
|
53
48
|
|
@@ -58,22 +53,22 @@ class Undies::Template
|
|
58
53
|
end
|
59
54
|
|
60
55
|
should "generate markup given proc content in a proc layout" do
|
61
|
-
Undies::Template.new(@cp_lp_source, {}, @
|
56
|
+
Undies::Template.new(@cp_lp_source, {}, @io)
|
62
57
|
assert_equal @expected_output, @out
|
63
58
|
end
|
64
59
|
|
65
60
|
should "generate markup given proc content in a layout file" do
|
66
|
-
Undies::Template.new(@cp_lf_source, {}, @
|
61
|
+
Undies::Template.new(@cp_lf_source, {}, @io)
|
67
62
|
assert_equal @expected_output, @out
|
68
63
|
end
|
69
64
|
|
70
65
|
should "generate markup given a content file in a proc layout" do
|
71
|
-
Undies::Template.new(@cf_lp_source, {}, @
|
66
|
+
Undies::Template.new(@cf_lp_source, {}, @io)
|
72
67
|
assert_equal @expected_output, @out
|
73
68
|
end
|
74
69
|
|
75
70
|
should "generate markup given a content file in a layout file" do
|
76
|
-
Undies::Template.new(@cf_lf_source, {}, @
|
71
|
+
Undies::Template.new(@cf_lf_source, {}, @io)
|
77
72
|
assert_equal @expected_output, @out
|
78
73
|
end
|
79
74
|
|
@@ -85,27 +80,28 @@ class Undies::Template
|
|
85
80
|
desc "using partials"
|
86
81
|
|
87
82
|
before do
|
88
|
-
@
|
83
|
+
@io = Undies::IO.new(@out = "", :pp => 2)
|
89
84
|
@source = Undies::Source.new(Proc.new do
|
90
85
|
partial_source = Undies::Source.new(Proc.new do
|
91
|
-
|
86
|
+
_p @thing
|
92
87
|
end)
|
93
88
|
|
94
89
|
_div {
|
95
|
-
|
90
|
+
_span @thing
|
96
91
|
__partial partial_source, {:thing => 1234}
|
97
92
|
|
98
93
|
_div {
|
99
|
-
__partial "some markup string here"
|
94
|
+
__partial " <p>some markup string here</p>\n"
|
100
95
|
}
|
96
|
+
|
101
97
|
}
|
102
98
|
end)
|
103
99
|
@data = {:thing => 'abcd'}
|
104
100
|
end
|
105
101
|
|
106
102
|
should "render the partial source with its own scope/data" do
|
107
|
-
Undies::Template.new(@source, @data, @
|
108
|
-
assert_equal "<div>abcd
|
103
|
+
Undies::Template.new(@source, @data, @io)
|
104
|
+
assert_equal "<div>\n <span>abcd</span>\n <p>1234</p>\n <div>\n <p>some markup string here</p>\n </div>\n</div>\n", @out
|
109
105
|
end
|
110
106
|
|
111
107
|
end
|
data/test/template_test.rb
CHANGED
@@ -1,7 +1,4 @@
|
|
1
1
|
require "assert"
|
2
|
-
require "stringio"
|
3
|
-
require 'undies/node_stack'
|
4
|
-
|
5
2
|
require "undies/template"
|
6
3
|
|
7
4
|
class Undies::Template
|
@@ -12,23 +9,27 @@ class Undies::Template
|
|
12
9
|
desc 'a template'
|
13
10
|
before do
|
14
11
|
@src = Undies::Source.new(Proc.new {})
|
15
|
-
@
|
16
|
-
@t = Undies::Template.new(@src, {}, @
|
12
|
+
@io = Undies::IO.new(@out = "")
|
13
|
+
@t = Undies::Template.new(@src, {}, @io)
|
17
14
|
end
|
18
15
|
subject { @t }
|
19
16
|
|
20
|
-
should
|
21
|
-
should have_instance_methods :to_s, :element, :tag
|
22
|
-
should have_instance_methods :_, :__
|
17
|
+
should have_class_methods :flush, :escape_html
|
23
18
|
should have_instance_methods :__yield, :__partial
|
24
19
|
should have_instance_methods :__push, :__pop, :__flush
|
25
20
|
should have_instance_methods :__attrs
|
26
21
|
|
27
|
-
|
28
|
-
|
29
|
-
|
22
|
+
# capture api
|
23
|
+
should have_instance_methods :raw, :element, :tag
|
24
|
+
should have_instance_methods :open_element, :open_tag
|
25
|
+
should have_instance_methods :closed_element, :closed_tag
|
26
|
+
|
27
|
+
# streaming api
|
28
|
+
should have_instance_methods :_, :__element, :__tag
|
29
|
+
should have_instance_methods :__open_element, :__open_tag
|
30
|
+
should have_instance_methods :__closed_element, :__closed_tag
|
30
31
|
|
31
|
-
should "complain if creating a template with no
|
32
|
+
should "complain if creating a template with no IO obj" do
|
32
33
|
assert_raises ArgumentError do
|
33
34
|
Undies::Template.new(@src, {})
|
34
35
|
end
|
@@ -36,22 +37,45 @@ class Undies::Template
|
|
36
37
|
|
37
38
|
should "default the data to an empty hash if none provided" do
|
38
39
|
assert_nothing_raised do
|
39
|
-
Undies::Template.new(@src, @
|
40
|
+
Undies::Template.new(@src, @io)
|
40
41
|
end
|
41
42
|
end
|
42
43
|
|
43
44
|
should "default the source to an empty Proc source if none provided" do
|
44
45
|
assert_nothing_raised do
|
45
|
-
Undies::Template.new(@
|
46
|
+
Undies::Template.new(@io)
|
46
47
|
end
|
47
48
|
assert_equal "", @out
|
48
49
|
end
|
49
50
|
|
51
|
+
should "push a root node onto its IO" do
|
52
|
+
assert_kind_of Undies::RootNode, @io.current
|
53
|
+
end
|
54
|
+
|
50
55
|
end
|
51
56
|
|
52
57
|
|
53
58
|
|
54
|
-
class
|
59
|
+
class PlainTextTests < BasicTests
|
60
|
+
before do
|
61
|
+
@data = "stuff & <em>more stuff</em>"
|
62
|
+
end
|
63
|
+
|
64
|
+
should have_instance_methods :raw
|
65
|
+
|
66
|
+
should "add the text un-escaped using the 'raw' method" do
|
67
|
+
assert_equal @data, subject.raw(@data)
|
68
|
+
end
|
69
|
+
|
70
|
+
should "escape the text using the Template#escape_html method" do
|
71
|
+
assert_equal "stuff & <em>more stuff</em>", Undies::Template.escape_html(@data)
|
72
|
+
end
|
73
|
+
|
74
|
+
end
|
75
|
+
|
76
|
+
|
77
|
+
|
78
|
+
class PlainTextTests < BasicTests
|
55
79
|
desc "with text data"
|
56
80
|
before do
|
57
81
|
@data = "stuff & <em>more stuff</em>"
|
@@ -64,40 +88,52 @@ class Undies::Template
|
|
64
88
|
assert_equal subject.class.escape_html(@data), @out
|
65
89
|
end
|
66
90
|
|
67
|
-
|
68
|
-
|
69
|
-
subject.__flush
|
91
|
+
end
|
92
|
+
|
70
93
|
|
71
|
-
|
94
|
+
|
95
|
+
class CapturedElementTests < BasicTests
|
96
|
+
desc "using the captured element api methods"
|
97
|
+
|
98
|
+
should "capture `element` output as Raw output" do
|
99
|
+
assert_kind_of Undies::Raw, subject.closed_element(:br)
|
72
100
|
end
|
73
101
|
|
74
|
-
should "
|
75
|
-
subject.
|
76
|
-
|
77
|
-
subject.__flush
|
102
|
+
should "capture `element` output correctly" do
|
103
|
+
assert_equal "<br />", subject.closed_element(:br).to_s
|
104
|
+
end
|
78
105
|
|
79
|
-
|
106
|
+
should "capture with `tag` method versions" do
|
107
|
+
assert_equal "<span></span>", subject.open_tag(:span).to_s
|
108
|
+
end
|
109
|
+
|
110
|
+
should "capture and escape data approptiately" do
|
111
|
+
elem = subject.open_element(:span, *[
|
112
|
+
"stuff & <em>more stuff</em>",
|
113
|
+
subject.strong(subject.i('ITALICS!!'), ' (here)')
|
114
|
+
])
|
115
|
+
assert_equal "<span>stuff & <em>more stuff</em><strong><i>ITALICS!!</i> (here)</strong></span>", elem.to_s
|
80
116
|
end
|
81
117
|
|
82
118
|
end
|
83
119
|
|
84
120
|
|
85
121
|
|
86
|
-
class
|
87
|
-
desc "using the
|
122
|
+
class StreamedElementTests < BasicTests
|
123
|
+
desc "using the streamed element api methods"
|
88
124
|
|
89
|
-
should "stream element output" do
|
90
|
-
subject.
|
125
|
+
should "stream `element` output" do
|
126
|
+
subject.__closed_element(:br)
|
91
127
|
subject.__flush
|
92
128
|
|
93
129
|
assert_equal "<br />", @out
|
94
130
|
end
|
95
131
|
|
96
|
-
should "alias it with
|
97
|
-
subject.
|
132
|
+
should "alias it with `tag` versions" do
|
133
|
+
subject.__open_tag(:span)
|
98
134
|
subject.__flush
|
99
135
|
|
100
|
-
assert_equal "<
|
136
|
+
assert_equal "<span></span>", @out
|
101
137
|
end
|
102
138
|
|
103
139
|
should "respond to underscore-prefix methods" do
|
@@ -111,13 +147,6 @@ class Undies::Template
|
|
111
147
|
assert_equal "<br />", @out
|
112
148
|
end
|
113
149
|
|
114
|
-
should "not respond to element methods without an underscore-prefix" do
|
115
|
-
assert !subject.respond_to?(:div)
|
116
|
-
assert_raises NoMethodError do
|
117
|
-
subject.div
|
118
|
-
end
|
119
|
-
end
|
120
|
-
|
121
150
|
end
|
122
151
|
|
123
152
|
|
@@ -125,7 +154,7 @@ class Undies::Template
|
|
125
154
|
class BuildAttrsTests < BasicTests
|
126
155
|
|
127
156
|
should "modify attributes during a build using the __attrs method" do
|
128
|
-
subject.
|
157
|
+
subject.__element(:div)
|
129
158
|
subject.__push
|
130
159
|
subject.__attrs :class => 'test'
|
131
160
|
subject.__pop
|
@@ -135,7 +164,7 @@ class Undies::Template
|
|
135
164
|
end
|
136
165
|
|
137
166
|
should "should merge __attrs values with existing attrs" do
|
138
|
-
subject.
|
167
|
+
subject.__element(:div).test
|
139
168
|
subject.__push
|
140
169
|
subject.__attrs :id => 'this'
|
141
170
|
subject.__pop
|
@@ -145,7 +174,7 @@ class Undies::Template
|
|
145
174
|
end
|
146
175
|
|
147
176
|
should "should merge __attrs class values by appending to the existing" do
|
148
|
-
subject.
|
177
|
+
subject.__element(:div).test
|
149
178
|
subject.__push
|
150
179
|
subject.__attrs :class => 'this'
|
151
180
|
subject.__pop
|
@@ -154,13 +183,10 @@ class Undies::Template
|
|
154
183
|
assert_equal "<div class=\"this\"></div>", @out
|
155
184
|
end
|
156
185
|
|
157
|
-
should "
|
158
|
-
subject.
|
186
|
+
should "add __attrs even though content has been added" do
|
187
|
+
subject.__element(:div, 'hi there', 'friend')
|
159
188
|
subject.__push
|
160
189
|
subject.__attrs :class => 'this'
|
161
|
-
subject._ "hi there"
|
162
|
-
subject._ "friend"
|
163
|
-
subject.__attrs :title => 'missedtheboat'
|
164
190
|
subject.__pop
|
165
191
|
subject.__flush
|
166
192
|
|
@@ -168,14 +194,11 @@ class Undies::Template
|
|
168
194
|
end
|
169
195
|
|
170
196
|
should "ignore __attrs values once child elements have been added" do
|
171
|
-
subject.
|
197
|
+
subject.__element(:div)
|
172
198
|
subject.__push
|
173
199
|
subject.__attrs :class => 'this'
|
174
|
-
subject._p
|
175
|
-
subject.
|
176
|
-
subject._ "hi there"
|
177
|
-
subject.__pop
|
178
|
-
subject._p { subject._ "friend" }
|
200
|
+
subject._p 'hi there'
|
201
|
+
subject._p 'friend'
|
179
202
|
subject.__attrs :title => 'missedtheboat'
|
180
203
|
subject.__pop
|
181
204
|
subject.__flush
|
@@ -189,22 +212,9 @@ class Undies::Template
|
|
189
212
|
|
190
213
|
class LocalDataTests < BasicTests
|
191
214
|
|
192
|
-
should "
|
193
|
-
|
194
|
-
|
195
|
-
Undies::Template.new(Undies::Source.new(Proc.new {}), {:some => 'data'}, @output)
|
196
|
-
)
|
197
|
-
end
|
198
|
-
|
199
|
-
should "complain if trying to set locals that conflict with public methods" do
|
200
|
-
assert_raises ArgumentError do
|
201
|
-
Undies::Template.new(Undies::Source.new(Proc.new {}), {:_ => "yay!"})
|
202
|
-
end
|
203
|
-
end
|
204
|
-
|
205
|
-
should "respond to each locals key with its value" do
|
206
|
-
templ = Undies::Template.new(Undies::Source.new(Proc.new {}), {:some => 'data'}, @output)
|
207
|
-
assert_equal "data", templ.some
|
215
|
+
should "accept a hash of data and apply them to the template scope as instance variables" do
|
216
|
+
t = Undies::Template.new(Undies::Source.new(Proc.new {}), {:some => 'data'}, @io)
|
217
|
+
assert_equal 'data', t.instance_variable_get("@some")
|
208
218
|
end
|
209
219
|
|
210
220
|
end
|
@@ -215,13 +225,12 @@ class Undies::Template
|
|
215
225
|
desc "that is streaming"
|
216
226
|
|
217
227
|
before do
|
218
|
-
|
219
|
-
@template = Undies::Template.new(Undies::Output.new(outstream))
|
228
|
+
@template = Undies::Template.new(Undies::IO.new(@output = ""))
|
220
229
|
end
|
221
230
|
|
222
231
|
should "not stream full content until Undies#flush called on the template" do
|
223
|
-
@template._div
|
224
|
-
@expected_output = "<div>Added
|
232
|
+
@template._div "Added"
|
233
|
+
@expected_output = "<div>Added</div>"
|
225
234
|
|
226
235
|
assert_equal "", @output
|
227
236
|
Undies::Template.flush(@template)
|
@@ -231,13 +240,13 @@ class Undies::Template
|
|
231
240
|
should "should write to the stream as its being constructed" do
|
232
241
|
@template._div.good.thing!(:type => "something")
|
233
242
|
@template.__push
|
234
|
-
@template._p
|
243
|
+
@template._p 'hi'
|
235
244
|
@template.__flush
|
236
245
|
|
237
246
|
@expected_output = "<div class=\"good\" id=\"thing\" type=\"something\"><p>hi</p>"
|
238
247
|
assert_equal @expected_output, @output
|
239
248
|
|
240
|
-
@template._p
|
249
|
+
@template._p "action"
|
241
250
|
@template.__pop
|
242
251
|
@template.__flush
|
243
252
|
|
@@ -252,7 +261,7 @@ class Undies::Template
|
|
252
261
|
class PrettyPrintTests < BasicTests
|
253
262
|
|
254
263
|
should "generate pretty printed markup" do
|
255
|
-
output = Undies::
|
264
|
+
output = Undies::IO.new(@out = "", :pp => 2)
|
256
265
|
templ = Undies::Template.new(output)
|
257
266
|
|
258
267
|
templ._html
|
@@ -260,10 +269,7 @@ class Undies::Template
|
|
260
269
|
templ._head {}
|
261
270
|
templ._body
|
262
271
|
templ.__push
|
263
|
-
templ._div
|
264
|
-
# templ.__push
|
265
|
-
# templ._ "Hi"
|
266
|
-
# templ.__pop
|
272
|
+
templ._div "Hi"
|
267
273
|
templ.__pop
|
268
274
|
templ.__pop
|
269
275
|
templ.__flush
|
@@ -274,7 +280,8 @@ class Undies::Template
|
|
274
280
|
<body>
|
275
281
|
<div>Hi</div>
|
276
282
|
</body>
|
277
|
-
</html>
|
283
|
+
</html>
|
284
|
+
}, @out )
|
278
285
|
end
|
279
286
|
|
280
287
|
end
|
@@ -1 +1 @@
|
|
1
|
-
_div
|
1
|
+
_div "Hi"
|
data/test/templates/test.html.rb
CHANGED
data/undies.gemspec
CHANGED
@@ -19,6 +19,7 @@ Gem::Specification.new do |s|
|
|
19
19
|
|
20
20
|
s.add_development_dependency("bundler", ["~> 1.0"])
|
21
21
|
s.add_development_dependency("assert", ["~> 0.7.3"])
|
22
|
+
s.add_development_dependency("assert-view", ["~> 0.6"])
|
22
23
|
s.add_development_dependency("whysoslow", ["~> 0.0"])
|
23
24
|
|
24
25
|
end
|
metadata
CHANGED
@@ -1,13 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: undies
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 15424119
|
5
|
+
prerelease: 6
|
6
6
|
segments:
|
7
|
-
-
|
8
|
-
-
|
7
|
+
- 3
|
8
|
+
- 0
|
9
|
+
- 0
|
10
|
+
- rc
|
9
11
|
- 1
|
10
|
-
version:
|
12
|
+
version: 3.0.0.rc.1
|
11
13
|
platform: ruby
|
12
14
|
authors:
|
13
15
|
- Kelly Redding
|
@@ -15,7 +17,7 @@ autorequire:
|
|
15
17
|
bindir: bin
|
16
18
|
cert_chain: []
|
17
19
|
|
18
|
-
date: 2012-
|
20
|
+
date: 2012-04-11 00:00:00 Z
|
19
21
|
dependencies:
|
20
22
|
- !ruby/object:Gem::Dependency
|
21
23
|
type: :development
|
@@ -51,6 +53,21 @@ dependencies:
|
|
51
53
|
- !ruby/object:Gem::Dependency
|
52
54
|
type: :development
|
53
55
|
requirement: &id003 !ruby/object:Gem::Requirement
|
56
|
+
none: false
|
57
|
+
requirements:
|
58
|
+
- - ~>
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
hash: 7
|
61
|
+
segments:
|
62
|
+
- 0
|
63
|
+
- 6
|
64
|
+
version: "0.6"
|
65
|
+
name: assert-view
|
66
|
+
version_requirements: *id003
|
67
|
+
prerelease: false
|
68
|
+
- !ruby/object:Gem::Dependency
|
69
|
+
type: :development
|
70
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
54
71
|
none: false
|
55
72
|
requirements:
|
56
73
|
- - ~>
|
@@ -61,7 +78,7 @@ dependencies:
|
|
61
78
|
- 0
|
62
79
|
version: "0.0"
|
63
80
|
name: whysoslow
|
64
|
-
version_requirements: *
|
81
|
+
version_requirements: *id004
|
65
82
|
prerelease: false
|
66
83
|
description: A pure-Ruby DSL for streaming templated HTML, XML, or plain text. Named for its gratuitous use of the underscore.
|
67
84
|
email:
|
@@ -74,39 +91,46 @@ extra_rdoc_files: []
|
|
74
91
|
|
75
92
|
files:
|
76
93
|
- .gitignore
|
94
|
+
- ARCH.md
|
77
95
|
- Gemfile
|
78
96
|
- Gemfile.lock
|
79
|
-
-
|
97
|
+
- LICENSE
|
98
|
+
- README.md
|
80
99
|
- Rakefile
|
81
100
|
- bench/bench
|
82
101
|
- bench/bench_runner.rb
|
83
102
|
- bench/large.html.erb
|
103
|
+
- bench/large.html.haml
|
84
104
|
- bench/large.html.rb
|
85
105
|
- bench/procs.rb
|
86
106
|
- bench/profiler
|
87
107
|
- bench/profiler_runner.rb
|
88
108
|
- bench/small.html.erb
|
109
|
+
- bench/small.html.haml
|
89
110
|
- bench/small.html.rb
|
90
111
|
- bench/verylarge.html.erb
|
112
|
+
- bench/verylarge.html.haml
|
91
113
|
- bench/verylarge.html.rb
|
92
114
|
- lib/undies.rb
|
115
|
+
- lib/undies/api.rb
|
93
116
|
- lib/undies/element.rb
|
94
|
-
- lib/undies/
|
95
|
-
- lib/undies/
|
96
|
-
- lib/undies/
|
97
|
-
- lib/undies/output.rb
|
117
|
+
- lib/undies/element_node.rb
|
118
|
+
- lib/undies/io.rb
|
119
|
+
- lib/undies/root_node.rb
|
98
120
|
- lib/undies/source.rb
|
99
|
-
- lib/undies/source_stack.rb
|
100
121
|
- lib/undies/template.rb
|
101
122
|
- lib/undies/version.rb
|
123
|
+
- test/element_closed_test.rb
|
124
|
+
- test/element_node_test.rb
|
125
|
+
- test/element_open_test.rb
|
102
126
|
- test/element_test.rb
|
103
127
|
- test/fixtures/write_thing.rb
|
104
128
|
- test/helper.rb
|
129
|
+
- test/io_test.rb
|
105
130
|
- test/irb.rb
|
106
131
|
- test/named_source_test.rb
|
107
|
-
- test/
|
108
|
-
- test/
|
109
|
-
- test/output_test.rb
|
132
|
+
- test/raw_test.rb
|
133
|
+
- test/root_node_test.rb
|
110
134
|
- test/source_stack_test.rb
|
111
135
|
- test/source_test.rb
|
112
136
|
- test/template_builder_render_test.rb
|
@@ -137,12 +161,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
137
161
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
138
162
|
none: false
|
139
163
|
requirements:
|
140
|
-
- - "
|
164
|
+
- - ">"
|
141
165
|
- !ruby/object:Gem::Version
|
142
|
-
hash:
|
166
|
+
hash: 25
|
143
167
|
segments:
|
144
|
-
-
|
145
|
-
|
168
|
+
- 1
|
169
|
+
- 3
|
170
|
+
- 1
|
171
|
+
version: 1.3.1
|
146
172
|
requirements: []
|
147
173
|
|
148
174
|
rubyforge_project:
|
@@ -151,14 +177,17 @@ signing_key:
|
|
151
177
|
specification_version: 3
|
152
178
|
summary: A pure-Ruby DSL for streaming templated HTML, XML, or plain text. Named for its gratuitous use of the underscore.
|
153
179
|
test_files:
|
180
|
+
- test/element_closed_test.rb
|
181
|
+
- test/element_node_test.rb
|
182
|
+
- test/element_open_test.rb
|
154
183
|
- test/element_test.rb
|
155
184
|
- test/fixtures/write_thing.rb
|
156
185
|
- test/helper.rb
|
186
|
+
- test/io_test.rb
|
157
187
|
- test/irb.rb
|
158
188
|
- test/named_source_test.rb
|
159
|
-
- test/
|
160
|
-
- test/
|
161
|
-
- test/output_test.rb
|
189
|
+
- test/raw_test.rb
|
190
|
+
- test/root_node_test.rb
|
162
191
|
- test/source_stack_test.rb
|
163
192
|
- test/source_test.rb
|
164
193
|
- test/template_builder_render_test.rb
|