class P1MeterReader::DataParsing::ParseChain::Chainable

Public Class Methods

new(next_chain = nil) click to toggle source
# File lib/p1_meter_reader/data_parsing/parse_chain/chainable.rb, line 5
def initialize(next_chain = nil)
  @next = next_chain
end

Public Instance Methods

next=(chainable) click to toggle source
# File lib/p1_meter_reader/data_parsing/parse_chain/chainable.rb, line 9
def next=(chainable)
  @next=chainable
end
try(lines_enumerator, output) click to toggle source
# File lib/p1_meter_reader/data_parsing/parse_chain/chainable.rb, line 13
def try(lines_enumerator, output)
  if can_handle?(lines_enumerator.peek)
    handle(lines_enumerator, output)
  else
    next_chain = @next || :no_next_chain

    next_chain.try(lines_enumerator, output)
  end
end