erector 0.5.0 → 0.5.1
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/erector/rails/template_handlers/2.1.0/action_view_template_handler.rb +1 -1
- data/lib/erector/rails/template_handlers/2.2.0/action_view_template_handler.rb +1 -1
- data/lib/erector/rhtml.treetop +1 -1
- data/lib/erector/version.rb +2 -2
- data/lib/erector/widget.rb +16 -12
- data/spec/erect/rhtml_parser_spec.rb +8 -0
- data/spec/erector/widget_spec.rb +1 -1
- metadata +28 -28
@@ -17,7 +17,7 @@ module ActionView #:nodoc:
|
|
17
17
|
require_dependency File.expand_path(template.filename)
|
18
18
|
|
19
19
|
widget_class_parts = relative_path_parts.inject(['Views']) do |class_parts, node|
|
20
|
-
class_parts << node.gsub(/^_/, "").gsub(/(\.html)?\.rb$/, '').
|
20
|
+
class_parts << node.gsub(/^_/, "").gsub(/(\.html)?\.rb$/, '').camelize
|
21
21
|
class_parts
|
22
22
|
end
|
23
23
|
widget_class_name = widget_class_parts.join("::")
|
@@ -17,7 +17,7 @@ module ActionView #:nodoc:
|
|
17
17
|
require_dependency File.expand_path(template.filename)
|
18
18
|
|
19
19
|
widget_class_parts = relative_path_parts.inject(['Views']) do |class_parts, node|
|
20
|
-
class_parts << node.gsub(/^_/, "").gsub(/(\.html)?\.rb$/, '').
|
20
|
+
class_parts << node.gsub(/^_/, "").gsub(/(\.html)?\.rb$/, '').camelize
|
21
21
|
class_parts
|
22
22
|
end
|
23
23
|
widget_class_name = widget_class_parts.join("::")
|
data/lib/erector/rhtml.treetop
CHANGED
data/lib/erector/version.rb
CHANGED
data/lib/erector/widget.rb
CHANGED
@@ -26,20 +26,27 @@ module Erector
|
|
26
26
|
|
27
27
|
# tags which are always self-closing
|
28
28
|
def empty_tags
|
29
|
-
['area', 'base', 'br', '
|
29
|
+
['area', 'base', 'br', 'col', 'frame',
|
30
|
+
'hr', 'img', 'input', 'link', 'meta']
|
30
31
|
end
|
31
32
|
|
32
33
|
# tags which can contain other stuff
|
33
34
|
def full_tags
|
34
35
|
[
|
35
|
-
'a', 'abbr', 'acronym', 'address',
|
36
|
-
'
|
37
|
-
'
|
38
|
-
'
|
36
|
+
'a', 'abbr', 'acronym', 'address',
|
37
|
+
'b', 'bdo', 'big', 'blockquote', 'body', 'button',
|
38
|
+
'caption', 'center', 'cite', 'code', 'colgroup',
|
39
|
+
'dd', 'del', 'dfn', 'div', 'dl', 'dt', 'em',
|
40
|
+
'fieldset', 'form', 'frameset',
|
41
|
+
'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'html', 'i',
|
39
42
|
'iframe', 'ins', 'kbd', 'label', 'legend', 'li', 'map',
|
40
|
-
'noframes', 'noscript',
|
41
|
-
'
|
42
|
-
'
|
43
|
+
'noframes', 'noscript',
|
44
|
+
'object', 'ol', 'optgroup', 'option', 'p', 'param', 'pre',
|
45
|
+
'q', 's',
|
46
|
+
'samp', 'script', 'select', 'small', 'span', 'strike',
|
47
|
+
'strong', 'style', 'sub', 'sup',
|
48
|
+
'table', 'tbody', 'td', 'textarea', 'tfoot',
|
49
|
+
'th', 'thead', 'title', 'tr', 'tt', 'u', 'ul', 'var'
|
43
50
|
]
|
44
51
|
end
|
45
52
|
|
@@ -121,7 +128,7 @@ module Erector
|
|
121
128
|
# calls this widget's #render method and returns the string.
|
122
129
|
#
|
123
130
|
# If it's called again later
|
124
|
-
# then it returns the earlier rendered string, which
|
131
|
+
# then it returns the earlier rendered string, which may lead to higher performance, but may have confusing
|
125
132
|
# effects if some underlying state has changed. In general we recommend you create a new instance of every
|
126
133
|
# widget for each render, unless you know what you're doing.
|
127
134
|
def to_s(render_method_name=:render, &blk)
|
@@ -295,9 +302,6 @@ module Erector
|
|
295
302
|
output.concat "<?xml#{format_sorted(sort_for_xml_declaration(attributes))}?>"
|
296
303
|
end
|
297
304
|
|
298
|
-
# Deprecated synonym of instruct
|
299
|
-
alias_method :instruct!, :instruct
|
300
|
-
|
301
305
|
# Creates a whole new output string, executes the block, then converts the output string to a string and
|
302
306
|
# emits it as raw text. If at all possible you should avoid this method since it hurts performance,
|
303
307
|
# and use #render_to instead.
|
@@ -169,6 +169,14 @@ describe RhtmlParser do
|
|
169
169
|
@parser.root = :attribute
|
170
170
|
parse("a=\"don't worry\"").convert.should == ":a => 'don\\'t worry'"
|
171
171
|
end
|
172
|
+
|
173
|
+
it "allows newlines where whitespace is allowed" do
|
174
|
+
parse("<img src='foo' \nalt='bar' />").convert.should == "img :src => 'foo', :alt => 'bar'\n"
|
175
|
+
end
|
176
|
+
|
177
|
+
it "treats tab characters the same as spaces" do
|
178
|
+
parse("<div \t />").convert.should == "div\n"
|
179
|
+
end
|
172
180
|
|
173
181
|
it "deals with HTML entities in text" do
|
174
182
|
parse("<").convert.should == "text '<'\n"
|
data/spec/erector/widget_spec.rb
CHANGED
@@ -319,7 +319,7 @@ module WidgetSpec
|
|
319
319
|
end
|
320
320
|
|
321
321
|
it "renders the proper empty-element tags" do
|
322
|
-
|
322
|
+
Erector::Widget.empty_tags.each do |tag_name|
|
323
323
|
expected = "<#{tag_name} />"
|
324
324
|
actual = Erector::Widget.new do
|
325
325
|
send(tag_name)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: erector
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pivotal Labs
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-12-
|
12
|
+
date: 2008-12-16 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -52,62 +52,62 @@ extensions: []
|
|
52
52
|
extra_rdoc_files:
|
53
53
|
- README.txt
|
54
54
|
files:
|
55
|
+
- spec/core_spec_suite.rb
|
56
|
+
- spec/erect
|
57
|
+
- spec/erect/erect_spec.rb
|
58
|
+
- spec/erect/erected_spec.rb
|
59
|
+
- spec/erect/rhtml_parser_spec.rb
|
55
60
|
- spec/erector
|
56
|
-
- spec/erector/
|
57
|
-
- spec/erector/widgets/table_spec.rb
|
61
|
+
- spec/erector/indentation_spec.rb
|
58
62
|
- spec/erector/unicode_builder_spec.rb
|
59
63
|
- spec/erector/widget_spec.rb
|
60
|
-
- spec/erector/
|
64
|
+
- spec/erector/widgets
|
65
|
+
- spec/erector/widgets/table_spec.rb
|
61
66
|
- spec/rails_spec_suite.rb
|
62
|
-
- spec/spec_suite.rb
|
63
|
-
- spec/core_spec_suite.rb
|
64
67
|
- spec/spec_helper.rb
|
65
|
-
- spec/
|
66
|
-
- spec/erect/erected_spec.rb
|
67
|
-
- spec/erect/erect_spec.rb
|
68
|
-
- spec/erect/rhtml_parser_spec.rb
|
68
|
+
- spec/spec_suite.rb
|
69
69
|
- lib/erector
|
70
|
+
- lib/erector/erect.rb
|
71
|
+
- lib/erector/erected.rb
|
72
|
+
- lib/erector/extensions
|
73
|
+
- lib/erector/extensions/object.rb
|
74
|
+
- lib/erector/indenting.rb
|
70
75
|
- lib/erector/rails
|
71
76
|
- lib/erector/rails/extensions
|
72
|
-
- lib/erector/rails/extensions/action_controller.rb
|
73
77
|
- lib/erector/rails/extensions/action_controller
|
74
78
|
- lib/erector/rails/extensions/action_controller/1.2.5
|
75
79
|
- lib/erector/rails/extensions/action_controller/1.2.5/action_controller.rb
|
76
80
|
- lib/erector/rails/extensions/action_controller/2.2.0
|
77
81
|
- lib/erector/rails/extensions/action_controller/2.2.0/action_controller.rb
|
82
|
+
- lib/erector/rails/extensions/action_controller.rb
|
83
|
+
- lib/erector/rails/extensions/action_view.rb
|
78
84
|
- lib/erector/rails/extensions/widget
|
79
85
|
- lib/erector/rails/extensions/widget/1.2.5
|
80
86
|
- lib/erector/rails/extensions/widget/1.2.5/widget.rb
|
81
87
|
- lib/erector/rails/extensions/widget/2.2.0
|
82
88
|
- lib/erector/rails/extensions/widget/2.2.0/widget.rb
|
83
|
-
- lib/erector/rails/extensions/action_view.rb
|
84
89
|
- lib/erector/rails/extensions/widget.rb
|
90
|
+
- lib/erector/rails/supported_rails_versions.rb
|
85
91
|
- lib/erector/rails/template_handlers
|
86
|
-
- lib/erector/rails/template_handlers/
|
92
|
+
- lib/erector/rails/template_handlers/1.2.5
|
93
|
+
- lib/erector/rails/template_handlers/1.2.5/action_view_template_handler.rb
|
87
94
|
- lib/erector/rails/template_handlers/2.0.0
|
88
95
|
- lib/erector/rails/template_handlers/2.0.0/action_view_template_handler.rb
|
89
96
|
- lib/erector/rails/template_handlers/2.1.0
|
90
97
|
- lib/erector/rails/template_handlers/2.1.0/action_view_template_handler.rb
|
91
|
-
- lib/erector/rails/template_handlers/1.2.5
|
92
|
-
- lib/erector/rails/template_handlers/1.2.5/action_view_template_handler.rb
|
93
98
|
- lib/erector/rails/template_handlers/2.2.0
|
94
99
|
- lib/erector/rails/template_handlers/2.2.0/action_view_template_handler.rb
|
95
|
-
- lib/erector/rails/
|
96
|
-
- lib/erector/widgets
|
97
|
-
- lib/erector/widgets/table.rb
|
100
|
+
- lib/erector/rails/template_handlers/action_view_template_handler.rb
|
98
101
|
- lib/erector/rails.rb
|
99
|
-
- lib/erector/extensions
|
100
|
-
- lib/erector/extensions/object.rb
|
101
|
-
- lib/erector/erect.rb
|
102
|
-
- lib/erector/indenting.rb
|
103
|
-
- lib/erector/rhtml.treetop
|
104
102
|
- lib/erector/raw_string.rb
|
105
|
-
- lib/erector/
|
106
|
-
- lib/erector/widgets.rb
|
103
|
+
- lib/erector/rhtml.treetop
|
107
104
|
- lib/erector/unicode.rb
|
108
105
|
- lib/erector/unicode_builder.rb
|
106
|
+
- lib/erector/version.rb
|
109
107
|
- lib/erector/widget.rb
|
110
|
-
- lib/erector/
|
108
|
+
- lib/erector/widgets
|
109
|
+
- lib/erector/widgets/table.rb
|
110
|
+
- lib/erector/widgets.rb
|
111
111
|
- lib/erector.rb
|
112
112
|
- README.txt
|
113
113
|
- bin/erect
|
@@ -134,7 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
134
134
|
requirements: []
|
135
135
|
|
136
136
|
rubyforge_project: erector
|
137
|
-
rubygems_version: 1.3.
|
137
|
+
rubygems_version: 1.3.0
|
138
138
|
signing_key:
|
139
139
|
specification_version: 2
|
140
140
|
summary: Erector is a Builder-like view framework, inspired by Markaby but overcoming some of its flaws
|