Class: Athena::Formats::Sisis
Defined Under Namespace
Classes: IllegalRecordElementError, NoRecordElementError
Instance Method Summary collapse
Methods inherited from Base
#convert, #deferred?, formats, valid_format?, #wrap
Instance Method Details
#parse(source, &block) ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/athena/formats/sisis.rb', line 55 def parse(source, &block) record, num = nil, 0 source.each { |line| element, value = line.match(/(\d+).*?:\s*(.*)/)[1, 2] case element when 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 |