Class: LensProtocol::OMA::Type::Trcfmt
- Inherits:
-
Base
- Object
- Base
- LensProtocol::OMA::Type::Trcfmt
show all
- Defined in:
- lib/lens_protocol/oma/type/trcfmt.rb
Instance Method Summary
collapse
Methods inherited from Base
#initialize
Instance Method Details
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/lens_protocol/oma/type/trcfmt.rb', line 11
def format record, message
Array(record.value).select { |v| v&.any? }.flat_map do |values|
trcfmt_line = format_line(record.label, values)
side = side_position_from_trcfmt values
r_lines = message.value_of('R', [[], []])[side].each_slice(10).map do |group|
format_line('R', group)
end
[trcfmt_line, *r_lines]
end
end
|
#parse(line, message) ⇒ Object
5
6
7
8
9
|
# File 'lib/lens_protocol/oma/type/trcfmt.rb', line 5
def parse line, message
label, values = label_and_values line
side = side_position_from_trcfmt values
message.add_record_side_values(label, side, values).set_context(:last_trcfmt_side, side)
end
|
#side_position_from_trcfmt(values) ⇒ Object
24
25
26
|
# File 'lib/lens_protocol/oma/type/trcfmt.rb', line 24
def side_position_from_trcfmt values
values[3] == 'R' ? 0 : 1
end
|