Module: Arrolio::GenericFlowBuilder::Tables

Included in:
Arrolio::GenericFlowBuilder
Defined in:
lib/arrolio/generic_flow_builder/tables.rb

Overview

Extracted emission seam: one module per content family, the same pattern as GenericAdapter's decomposition. The class keeps build(), dispatch, and shared helpers.

Instance Method Summary collapse

Instance Method Details

#caption_runs_for(table) ⇒ Object



9
10
11
12
13
# File 'lib/arrolio/generic_flow_builder/tables.rb', line 9

def caption_runs_for(table)
  return nil if table.caption.nil?

  paragraph_flowable(table.caption, standalone: false).runs
end

#table_geometryObject

Table geometry (minimum row height, cell padding, footnote size) is flavor configuration — extracted from the flavor's XSL row/cell styles — not engine policy.



18
19
20
21
22
23
24
25
# File 'lib/arrolio/generic_flow_builder/tables.rb', line 18

def table_geometry
  config = @rules['table'] || {}
  {
    min_row_height: config.fetch('min_row_height', 0.0).to_f,
    cell_padding: config.fetch('cell_padding', 2.0).to_f,
    footnote_font_size: config['footnote_font_size']&.to_f
  }
end