class Athena::Formats::Sisis

Constants

RECORD_RE

Public Instance Methods

parse(input, &block) click to toggle source
# File lib/athena/formats/sisis.rb, line 39
def parse(input, &block)
  record, num = nil, 0

  input.each { |line|
    element, value = line.match(RECORD_RE)[1, 2]

    if element == record_element
      record.close if record
      record = Athena::Record.new(value, block)
      num += 1
    else
      record.update(element, value, config[element])
    end
  }

  record.close if record

  num
end