Class: PureDocx::Constructors::TableColumn
- Inherits:
-
Object
- Object
- PureDocx::Constructors::TableColumn
- Defined in:
- lib/puredocx/constructors/table_column.rb
Constant Summary collapse
- MAX_TABLE_WIDTH =
9_355
Instance Attribute Summary collapse
-
#client_columns_width ⇒ Object
readonly
Returns the value of attribute client_columns_width.
-
#columns_count ⇒ Object
readonly
Returns the value of attribute columns_count.
Instance Method Summary collapse
- #calculate_default_width ⇒ Object
- #columns_width ⇒ Object
-
#initialize(client_table_width, client_columns_width, columns_count) ⇒ TableColumn
constructor
A new instance of TableColumn.
- #table_width ⇒ Object
- #total_params_width ⇒ Object
Constructor Details
#initialize(client_table_width, client_columns_width, columns_count) ⇒ TableColumn
Returns a new instance of TableColumn.
8 9 10 11 12 |
# File 'lib/puredocx/constructors/table_column.rb', line 8 def initialize(client_table_width, client_columns_width, columns_count) @client_table_width = client_table_width @client_columns_width = client_columns_width @columns_count = columns_count end |
Instance Attribute Details
#client_columns_width ⇒ Object (readonly)
Returns the value of attribute client_columns_width.
6 7 8 |
# File 'lib/puredocx/constructors/table_column.rb', line 6 def client_columns_width @client_columns_width end |
#columns_count ⇒ Object (readonly)
Returns the value of attribute columns_count.
6 7 8 |
# File 'lib/puredocx/constructors/table_column.rb', line 6 def columns_count @columns_count end |
Instance Method Details
#calculate_default_width ⇒ Object
30 31 32 33 34 |
# File 'lib/puredocx/constructors/table_column.rb', line 30 def calculate_default_width return (table_width / columns_count) if client_columns_width.nil? return (table_width - total_params_width / 1) if client_columns_width.none?(&:nil?) ((table_width - total_params_width) / client_columns_width.select(&:nil?).size) end |
#columns_width ⇒ Object
14 15 16 17 18 19 20 |
# File 'lib/puredocx/constructors/table_column.rb', line 14 def columns_width default_width = calculate_default_width ensure_correct_table_max_width! unless total_params_width.nil? return [default_width] * columns_count if client_columns_width.nil? client_columns_width.map { |item| item.nil? ? default_width : item } end |
#table_width ⇒ Object
22 23 24 |
# File 'lib/puredocx/constructors/table_column.rb', line 22 def table_width @client_table_width || MAX_TABLE_WIDTH end |
#total_params_width ⇒ Object
26 27 28 |
# File 'lib/puredocx/constructors/table_column.rb', line 26 def total_params_width @total_params_width ||= client_columns_width&.compact&.inject(:+) end |