Class: Uniword::Builder::TableRowBuilder

Inherits:
BaseBuilder show all
Defined in:
lib/uniword/builder/table_row_builder.rb

Overview

Builds and configures TableRow objects.

Examples:

Create a table row

t.row do |r|
  r.cell(text: 'Header 1')
  r.cell(text: 'Header 2')
end

Instance Attribute Summary

Attributes inherited from BaseBuilder

#model

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseBuilder

#build, from_model, #initialize

Constructor Details

This class inherits a constructor from Uniword::Builder::BaseBuilder

Class Method Details

.default_model_classObject



13
14
15
# File 'lib/uniword/builder/table_row_builder.rb', line 13

def self.default_model_class
  Wordprocessingml::TableRow
end

Instance Method Details

#cell(text: nil) {|TableCellBuilder| ... } ⇒ TableCellBuilder

Create and add a cell to the row

Parameters:

  • text (String, nil) (defaults to: nil)

    Optional text content (creates a paragraph)

Yields:

Returns:



22
23
24
25
26
27
28
# File 'lib/uniword/builder/table_row_builder.rb', line 22

def cell(text: nil, &block)
  c = TableCellBuilder.new
  c << text if text
  yield(c) if block
  @model.cells << c.build
  c
end

#header_row(value = true) ⇒ self

Set as table header row

Parameters:

  • value (Boolean) (defaults to: true)

    Header row state (default true)

Returns:

  • (self)


46
47
48
49
50
# File 'lib/uniword/builder/table_row_builder.rb', line 46

def header_row(value = true)
  @model.properties ||= Wordprocessingml::TableRowProperties.new
  @model.properties.table_header = value
  self
end

#height(value, rule: nil) ⇒ self

Set row height

Parameters:

  • value (Integer)

    Height in twips

  • rule (String) (defaults to: nil)

    Height rule (‘auto’, ‘exact’, ‘atLeast’)

Returns:

  • (self)


35
36
37
38
39
40
# File 'lib/uniword/builder/table_row_builder.rb', line 35

def height(value, rule: nil)
  @model.properties ||= Wordprocessingml::TableRowProperties.new
  @model.properties.height = value
  @model.properties.height_rule = rule if rule
  self
end