Description¶ ↑
A Table::Row object represents a single <TR></TR> instance for an HTML
Table. Although it is nested under Table, it is not a subclass of Table. It is, however, a subclass of Array.
Synopsis¶ ↑
require "html/table" include HTML table = HTML::Table.new row1 = Table::Row.new{ |r| r.align = "left" r.bgcolor = "green" r.content = ["foo","bar","baz"] } row2 = Table::Row.new{ |r| r.align = "right" r.bgcolor = "blue" r.content = "hello world" } table.push row1, row2 row1.content = "foofoo" row1.configure(3){ |d| d.bgcolor = "pink" } row1.push Table::Row::Header.new{ |h| h.colspan = 2 h.content = "This is a table header" } row2.push Table::Row::Header.new{ |h| h.colspan = 2 h.content = "This is also a table header" } puts table.html #### output ####
<table> <tr align='left' bgcolor='green'> <td>foo</td> <td>bar</td> <td>baz</td> <td bgcolor='pink'>foofoo</td> <th colspan=2>This is a table header</th> </tr> <tr align='right' bgcolor='blue'> <td>hello world</td> <th colspan=2>This is also a table header</th> </tr> </table>
See the ‘examples’ directory for more examples.
Mixins¶ ↑
Table::Row is a subclass of Array and therefore mixes in Enumerable. It also mixes in Attribute_Handler.
Class Methods¶ ↑
Table::Row.new(arg=nil) Table::Row.new(arg=nil){ |t| ... }
Creates a new table. You can set attributes for the TableRow by passing a block.
If arg
is supplied, it is automatically interpreted to be content. This is a shortcut for Table::Row.new{ |r| r.content = ‘…’ }.
Instance Methods¶ ↑
Table::Row#[]=(index, obj)
Assigns obj
to index. The obj
must be a Table::Row::Header or Table::Row::Data object, or a TypeError is raised.
Table::Row#content Returns the HTML
content of the TableRow instance, i.e. the stuff between the <TR>
and </TR>
tags.
Table::Row#content=(args)
Because a Table::Row doesn’t store any of its own content, the arguments to this method must be a Table::Row::Data object, a Table::Row::Header object, or a String (or an array of any of these). In the latter case, a single Table::Row::Data object is created for each string.
Table::Row#html
Returns the entire HTML
content of the TableRow instance.
Table::Row#push(obj)
Pushes obj
onto the Table::Row. The obj
must be a Table::Row::Data or Table::Row::Header object, or a TypeError is raised.
Table::Row#unshift(obj)
Unshifts obj
onto the Table::Row. The same rules for push apply to unshift as well.
Notes¶ ↑
String attributes are quoted. Numeric attributes are not.
Some attributes have type checking. Some check for valid arguments. In the latter case, it is case-insensitive.
Using a non-standard extension (e.g. “background”) will send a warning to STDERR in $VERBOSE (-w) mode.