Class: Uniword::ColumnConfiguration
- Inherits:
-
Lutaml::Model::Serializable
- Object
- Lutaml::Model::Serializable
- Uniword::ColumnConfiguration
- Defined in:
- lib/uniword/column_configuration.rb
Overview
Represents column configuration for a section
Columns allow text to flow in newspaper-style multi-column layouts.
Instance Attribute Summary collapse
-
#columns ⇒ Array<Column>
Individual column definitions (for unequal).
-
#count ⇒ Integer
Number of columns.
-
#equal_width ⇒ Boolean
Whether all columns have equal width.
-
#separator ⇒ Boolean
Whether to show vertical separator line.
-
#space ⇒ Integer
Default space between columns (for equal width).
Class Method Summary collapse
-
.equal(count, space: 720, separator: false) ⇒ ColumnConfiguration
Create equal-width columns configuration.
-
.three_columns(space: 720, separator: false) ⇒ ColumnConfiguration
Create three-column layout.
-
.two_columns(space: 720, separator: false) ⇒ ColumnConfiguration
Create two-column layout.
Instance Method Summary collapse
-
#custom_widths? ⇒ Boolean
Check if using custom column widths.
-
#initialize(**attributes) ⇒ ColumnConfiguration
constructor
A new instance of ColumnConfiguration.
-
#single_column? ⇒ Boolean
Check if using single column (no multi-column layout).
Constructor Details
#initialize(**attributes) ⇒ ColumnConfiguration
Returns a new instance of ColumnConfiguration.
42 43 44 45 46 |
# File 'lib/uniword/column_configuration.rb', line 42 def initialize(**attributes) super validate_count validate_columns end |
Instance Attribute Details
#columns ⇒ Array<Column>
Individual column definitions (for unequal)
35 36 37 |
# File 'lib/uniword/column_configuration.rb', line 35 def columns @columns end |
#count ⇒ Integer
Number of columns
35 36 37 |
# File 'lib/uniword/column_configuration.rb', line 35 def count @count end |
#equal_width ⇒ Boolean
Whether all columns have equal width
35 36 37 |
# File 'lib/uniword/column_configuration.rb', line 35 def equal_width @equal_width end |
#separator ⇒ Boolean
Whether to show vertical separator line
35 36 37 |
# File 'lib/uniword/column_configuration.rb', line 35 def separator @separator end |
#space ⇒ Integer
Default space between columns (for equal width)
35 36 37 |
# File 'lib/uniword/column_configuration.rb', line 35 def space @space end |
Class Method Details
.equal(count, space: 720, separator: false) ⇒ ColumnConfiguration
Create equal-width columns configuration
54 55 56 57 58 59 60 61 |
# File 'lib/uniword/column_configuration.rb', line 54 def self.equal(count, space: 720, separator: false) new( count: count, equal_width: true, space: space, separator: separator, ) end |
.three_columns(space: 720, separator: false) ⇒ ColumnConfiguration
Create three-column layout
77 78 79 |
# File 'lib/uniword/column_configuration.rb', line 77 def self.three_columns(space: 720, separator: false) equal(3, space: space, separator: separator) end |
.two_columns(space: 720, separator: false) ⇒ ColumnConfiguration
Create two-column layout
68 69 70 |
# File 'lib/uniword/column_configuration.rb', line 68 def self.two_columns(space: 720, separator: false) equal(2, space: space, separator: separator) end |
Instance Method Details
#custom_widths? ⇒ Boolean
Check if using custom column widths
91 92 93 |
# File 'lib/uniword/column_configuration.rb', line 91 def custom_widths? !equal_width && !columns.empty? end |
#single_column? ⇒ Boolean
Check if using single column (no multi-column layout)
84 85 86 |
# File 'lib/uniword/column_configuration.rb', line 84 def single_column? count == 1 end |