Class: Ruby::Reports::Services::TableBuilder
- Inherits:
-
Object
- Object
- Ruby::Reports::Services::TableBuilder
- Defined in:
- lib/ruby/reports/services/table_builder.rb
Overview
Defines report table building logic
Defined Under Namespace
Classes: Dummy
Instance Attribute Summary collapse
-
#building_header ⇒ Object
readonly
Returns the value of attribute building_header.
Instance Method Summary collapse
Instance Attribute Details
#building_header ⇒ Object (readonly)
Returns the value of attribute building_header.
13 14 15 |
# File 'lib/ruby/reports/services/table_builder.rb', line 13 def building_header @building_header end |
Instance Method Details
#build_header ⇒ Object
38 39 40 41 42 43 44 45 |
# File 'lib/ruby/reports/services/table_builder.rb', line 38 def build_header @building_header = true DslProxy.exec(self, Dummy.new, &table_block) @building_header = false header = @table_header.dup cleanup_header header end |
#build_row(row) ⇒ Object
30 31 32 33 34 35 36 |
# File 'lib/ruby/reports/services/table_builder.rb', line 30 def build_row(row) @row = row.is_a?(Hash) ? row.rekey! : row DslProxy.exec(self, @row, &table_block) row = @table_row.dup cleanup_row row end |
#column(name, value = nil, options = {}) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/ruby/reports/services/table_builder.rb', line 18 def column(name, value = nil, = {}) if (skip_if = .delete(:skip_if)) if skip_if.is_a?(Symbol) return if report.send(skip_if) elsif skip_if.respond_to?(:call) return if skip_if.call end end building_header ? add_header_cell(name) : add_row_cell(value, ) end |