Class: LensProtocol::OMA::Types::Trcfmt

Inherits:
Type
  • Object
show all
Defined in:
lib/lens_protocol/oma/types/trcfmt.rb

Instance Method Summary collapse

Methods inherited from Type

#initialize

Constructor Details

This class inherits a constructor from LensProtocol::OMA::Types::Type

Instance Method Details

#format(label, chiral_value) ⇒ Object



26
27
28
29
30
31
32
33
# File 'lib/lens_protocol/oma/types/trcfmt.rb', line 26

def format label, chiral_value
  chiral_value.compact.flat_map do |value|
    [
      build_line(label, format_values(value.trcfmt_values)),
      *value.radius_data.each_slice(10).map { |vs| build_line('R', format_values(vs)) }
    ]
  end
end

#parse(line, next_lines) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/lens_protocol/oma/types/trcfmt.rb', line 5

def parse line, next_lines
  dataset1, next_lines = extract_tracing_dataset [line, *next_lines]
  dataset2, next_lines = extract_tracing_dataset next_lines

  datasets = [dataset1, dataset2].compact
  value = [
    datasets.detect { |ds| ds.side == 'R' },
    datasets.detect { |ds| ds.side == 'L' }
  ]

  [value, next_lines]
end

#wrap(value, message_hash, _label) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/lens_protocol/oma/types/trcfmt.rb', line 18

def wrap value, message_hash, _label
  right_side, left_side = value
  [
    build_tracing_dataset(right_side, message_hash),
    build_tracing_dataset(left_side, message_hash)
  ]
end