Class: Proforma::Modeling::Pane::Column
- Inherits:
-
Object
- Object
- Proforma::Modeling::Pane::Column
show all
- Extended by:
- Forwardable
- Includes:
- Types::Align
- Defined in:
- lib/proforma/modeling/pane/column.rb
Overview
A Pane Column is a list of lines that understands how to compile itself against a data source.
Constant Summary
Types::Align::CENTER, Types::Align::LEFT, Types::Align::RIGHT
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(align: LEFT, label_width: nil, lines: [], value_width: nil) ⇒ Column
Returns a new instance of Column.
27
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/proforma/modeling/pane/column.rb', line 27
def initialize(
align: LEFT,
label_width: nil,
lines: [],
value_width: nil
)
@align = align
@label_width = label_width
@lines = Line.array(lines)
@value_width = value_width
end
|
Instance Attribute Details
#align ⇒ Object
39
40
41
|
# File 'lib/proforma/modeling/pane/column.rb', line 39
def align
@align || LEFT
end
|
#label_width ⇒ Object
43
44
45
|
# File 'lib/proforma/modeling/pane/column.rb', line 43
def label_width
@label_width ? @label_width.to_f : nil
end
|
#lines ⇒ Object
51
52
53
|
# File 'lib/proforma/modeling/pane/column.rb', line 51
def lines
Array(@lines)
end
|
#value_width ⇒ Object
47
48
49
|
# File 'lib/proforma/modeling/pane/column.rb', line 47
def value_width
@value_width ? @value_width.to_f : nil
end
|
Instance Method Details
#compile(record, evaluator) ⇒ Object
55
56
57
58
59
60
61
62
63
64
|
# File 'lib/proforma/modeling/pane/column.rb', line 55
def compile(record, evaluator)
compiled_lines = lines.map { |line| line.compile(record, evaluator) }
self.class.new(
align: align,
label_width: label_width,
lines: compiled_lines,
value_width: value_width
)
end
|