Class: P1MeterReader::DataParsing::ParseChain::GasChain

Inherits:
Chainable
  • Object
show all
Defined in:
lib/p1_meter_reader/data_parsing/parse_chain/gas_chain.rb

Instance Method Summary collapse

Methods inherited from Chainable

#initialize, #next=, #try

Constructor Details

This class inherits a constructor from P1MeterReader::DataParsing::ParseChain::Chainable

Instance Method Details

#can_handle?(line) ⇒ Boolean

Returns:

  • (Boolean)


7
8
9
# File 'lib/p1_meter_reader/data_parsing/parse_chain/gas_chain.rb', line 7

def can_handle?(line)
  line.start_with? '0-1:24.3.0'
end

#handle(lines_enumerator, output) ⇒ Object



11
12
13
14
15
16
17
# File 'lib/p1_meter_reader/data_parsing/parse_chain/gas_chain.rb', line 11

def handle(lines_enumerator, output)
  lines_enumerator.next # Skip the intro line
  line = lines_enumerator.next

  match = line.match(/\((\d*\.\d*)\)/)
  output.gas = match[1].to_f if match
end