Class: P1MeterReader::DataParsing::StreamSplitter

Inherits:
Object
  • Object
show all
Defined in:
lib/p1_meter_reader/data_parsing/stream_splitter.rb

Instance Method Summary collapse

Constructor Details

#initialize(stream, message_start) ⇒ StreamSplitter

Returns a new instance of StreamSplitter.



4
5
6
7
# File 'lib/p1_meter_reader/data_parsing/stream_splitter.rb', line 4

def initialize(stream, message_start)
  @message_start = message_start
  @stream = stream.each_line
end

Instance Method Details

#readObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/p1_meter_reader/data_parsing/stream_splitter.rb', line 9

def read
  while (@stream.peek).strip != @message_start
    @stream.next
  end

  result = ""

  loop do
    line = @stream.next
    result << line

    return result if line.strip == "!"
  end
end