Module: CGI::TagMaker
Overview
Base module for HTML-generation mixins.
Provides methods for code generation for tags following the various DTD element types.
Instance Method Summary collapse
-
#nn_element_def(element) ⇒ Object
Generate code for an element with required start and end tags.
-
#nO_element_def(element) ⇒ Object
Generate code for an element for which the end (and possibly the start) tag is optional.
-
#nOE_element_def(element, append = nil) ⇒ Object
Generate code for an empty element.
Instance Method Details
#nn_element_def(element) ⇒ Object
Generate code for an element with required start and end tags.
- -
1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 |
# File 'lib/rubysl/cgi/cgi.rb', line 1252 def nn_element_def(element) nOE_element_def(element, " if block_given?\n yield.to_s\n else\n \"\"\n end +\n \"</\#{element.upcase}>\"\n END\nend\n") |
#nO_element_def(element) ⇒ Object
Generate code for an element for which the end (and possibly the start) tag is optional.
O O or - O
1286 1287 1288 1289 1290 1291 1292 1293 1294 |
# File 'lib/rubysl/cgi/cgi.rb', line 1286 def nO_element_def(element) nOE_element_def(element, " if block_given?\n yield.to_s + \"</\#{element.upcase}>\"\n else\n \"\"\n end\n END\nend\n") |
#nOE_element_def(element, append = nil) ⇒ Object
Generate code for an empty element.
- O EMPTY
1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 |
# File 'lib/rubysl/cgi/cgi.rb', line 1266 def nOE_element_def(element, append = nil) s = " \"<\#{element.upcase}\" + attributes.collect{|name, value|\n next unless value\n \" \" + CGI::escapeHTML(name) +\n if true == value\n \"\"\n else\n '=\"' + CGI::escapeHTML(value) + '\"'\n end\n }.to_s + \">\"\n END\n s.sub!(/\\Z/, \" +\") << append if append\n s\nend\n" |