Module: Thamble
- Defined in:
- lib/thamble.rb,
lib/thamble/rails.rb
Overview
Thamble exposes a single method named table to make it easy to generate an HTML table from an enumerable.
Defined Under Namespace
Modules: RailsHelper, Raw Classes: RawString, Table, Tag
Constant Summary collapse
- OPTS =
Empty frozen hash used for default option hashes
{}.freeze
Class Method Summary collapse
-
.raw(s) ⇒ Object
Return a raw string, which will not be HTML escaped in Thamble’s output.
-
.table(enum, opts = OPTS) ⇒ Object
Return a string containing an HTML table representing the data from the enumerable.
Class Method Details
.raw(s) ⇒ Object
Return a raw string, which will not be HTML escaped in Thamble’s output.
40 41 42 |
# File 'lib/thamble.rb', line 40 def raw(s) RawString.new(s) end |
.table(enum, opts = OPTS) ⇒ Object
Return a string containing an HTML table representing the data from the enumerable. enum
should be an enumerable containing the data. If a block is given, it is yielded each element in enum
, and should return an array representing the table data to use for that row.
Options:
- :caption
-
A caption for the table
- :column_th
-
Use th instead of td for the first cell in each row in the body.
- :headers
-
The headers to use for the table, as an array of strings or a single string using commas as the separtor.
- :table
-
HTML attribute hash for the table itself
- :td
-
HTML attribute hash for the table data cells, can be a proc called with the data value, row position, and row that returns a hash
- :th
-
HTML attribute hash for the table header cells, can be a proc called with the header that returns a hash
- :tr
-
HTML attribute hash for the table rows, can be a proc called with the row that returns a hash
- :widths
-
An array of widths to use for each column
29 30 31 32 33 34 35 36 |
# File 'lib/thamble.rb', line 29 def table(enum, opts=OPTS) t = Table.new(opts) enum.each do |row| row = yield(row, t) if block_given? t << row end t.to_s end |