Module: CGI::TagMaker
- Defined in:
- lib/cgi.rb
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.
- -
1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 |
# File 'lib/cgi.rb', line 1247 def nn_element_def(element) nOE_element_def(element, <<-END) if block_given? yield.to_s else "" end + "</#{element.upcase}>" END end |
#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
1281 1282 1283 1284 1285 1286 1287 1288 1289 |
# File 'lib/cgi.rb', line 1281 def nO_element_def(element) nOE_element_def(element, <<-END) if block_given? yield.to_s + "</#{element.upcase}>" else "" end END end |
#nOE_element_def(element, append = nil) ⇒ Object
Generate code for an empty element.
- O EMPTY
1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 |
# File 'lib/cgi.rb', line 1261 def nOE_element_def(element, append = nil) s = <<-END "<#{element.upcase}" + attributes.collect{|name, value| next unless value " " + CGI::escapeHTML(name) + if true == value "" else '="' + CGI::escapeHTML(value) + '"' end }.to_s + ">" END s.sub!(/\Z/, " +") << append if append s end |