Class: LensProtocol::OMA::Type::Trcfmt
- Inherits:
-
Base
- Object
- Base
- LensProtocol::OMA::Type::Trcfmt
show all
- Defined in:
- lib/lens_protocol/oma/type/trcfmt.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Base
#initialize
Class Method Details
.number(values) ⇒ Object
28
29
30
|
# File 'lib/lens_protocol/oma/type/trcfmt.rb', line 28
def self.number values
values[0].to_i
end
|
.side_pos(values) ⇒ Object
24
25
26
|
# File 'lib/lens_protocol/oma/type/trcfmt.rb', line 24
def self.side_pos values
values[3] == 'R' ? 0 : 1
end
|
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_pos = Trcfmt.side_pos values
r_lines = message.value_of('R', [[], []])[side_pos].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_pos = Trcfmt.side_pos values
message.add_record_side_values(label, side_pos, values).set_context(:last_trcfmt, values)
end
|