Class: Tabulo::Row
Instance Attribute Summary collapse
- #source ⇒ Object readonly
Instance Method Summary collapse
-
#each ⇒ Object
Calls the given block once for each cell in the Row, passing that cell as parameter.
-
#to_h ⇒ Object
A Hash representation of the Row, with column labels acting as keys and the calculated cell values (before formatting) providing the values.
- #to_s ⇒ Object
Instance Attribute Details
#source ⇒ Object (readonly)
Returns the element of the Table's underlying enumerable to which this Tabulo::Row corresponds.
7 8 9 |
# File 'lib/tabulo/row.rb', line 7 def source @source end |
Instance Method Details
#each ⇒ Object
Calls the given block once for each cell in the Tabulo::Row, passing that cell as parameter. Each "cell" is just the calculated value for its column (pre-formatting) for this Tabulo::Row's source item.
26 27 28 29 30 |
# File 'lib/tabulo/row.rb', line 26 def each @table.column_registry.each do |_, column| yield column.body_cell_value(@source) end end |
#to_h ⇒ Object
Returns a Hash representation of the Tabulo::Row, with column labels acting as keys and the calculated cell values (before formatting) providing the values.
49 50 51 |
# File 'lib/tabulo/row.rb', line 49 def to_h @table.column_registry.map { |label, column| [label, column.body_cell_value(@source)] }.to_h end |
#to_s ⇒ Object
Returns a String being an "ASCII" graphical representation of the Tabulo::Row, including any column headers that appear just above it in the Table (depending on where this Row is in the Table and how the Table was configured with respect to header frequency).
35 36 37 38 39 40 41 |
# File 'lib/tabulo/row.rb', line 35 def to_s if @table.column_registry.any? @table.formatted_body_row(@source, with_header: @with_header) else "" end end |