Class: P1MeterReader::Models::MeasurementParser
- Inherits:
-
Object
- Object
- P1MeterReader::Models::MeasurementParser
- Defined in:
- lib/p1_meter_reader/models/measurement_parser.rb
Instance Method Summary collapse
-
#initialize ⇒ MeasurementParser
constructor
A new instance of MeasurementParser.
- #parse(input) ⇒ Object
Constructor Details
#initialize ⇒ MeasurementParser
Returns a new instance of MeasurementParser.
14 15 16 17 18 19 20 21 22 |
# File 'lib/p1_meter_reader/models/measurement_parser.rb', line 14 def initialize super @chain = P1MeterReader::DataParsing::ParseChain::StroomDalChain.new( P1MeterReader::DataParsing::ParseChain::StroomPiekChain.new( P1MeterReader::DataParsing::ParseChain::StroomCurrentChain.new( P1MeterReader::DataParsing::ParseChain::GasChain.new( P1MeterReader::DataParsing::ParseChain::SkipLineChain.new)))) end |
Instance Method Details
#parse(input) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/p1_meter_reader/models/measurement_parser.rb', line 24 def parse(input) output = Models::Measurement.new input = input.lines.to_enum output.time_stamp = DateTime.now # Convert to UTC before storing output.time_stamp_utc = DateTime.now.new_offset(0) while (true) @chain.try(input, output) end rescue StopIteration return output end |