Class: P1MeterReader::DataParsing::ParseChain::StroomPiekChain

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Chainable

#next=, #try

Constructor Details

#initialize(next_chain = nil) ⇒ StroomPiekChain

Returns a new instance of StroomPiekChain.



10
11
12
13
# File 'lib/p1_meter_reader/data_parsing/parse_chain/stroom_piek_chain.rb', line 10

def initialize(next_chain = nil)
  super
  self.last_value = kWh(0.0)
end

Instance Attribute Details

#last_valueObject

Returns the value of attribute last_value.



8
9
10
# File 'lib/p1_meter_reader/data_parsing/parse_chain/stroom_piek_chain.rb', line 8

def last_value
  @last_value
end

Instance Method Details

#can_handle?(line) ⇒ Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/p1_meter_reader/data_parsing/parse_chain/stroom_piek_chain.rb', line 15

def can_handle?(line)
  line.start_with?("1-0:1.8.2")
end

#handle(lines_enumerator, output) ⇒ Object



19
20
21
22
23
24
25
26
27
# File 'lib/p1_meter_reader/data_parsing/parse_chain/stroom_piek_chain.rb', line 19

def handle(lines_enumerator, output)
  line = lines_enumerator.next

  value = KwhReader.read(line)
  output.stroom_piek = value
  output.diff_stroom_piek = value - last_value

  self.last_value = value
end