Sha256: ac1f53c0d8ae11328b4d2f55190844f92571c52f999c516660da384a60a94222

Contents?: true

Size: 555 Bytes

Versions: 2

Compression:

Stored size: 555 Bytes

Contents

require_relative 'register'
require_relative 'content'

module Estratto
  class Parser
    attr_reader :file_path, :layout

    def initialize(file_path, layout)
      @file_path = file_path
      @layout = layout
    end

    def perform
      @data ||= raw_content.map do |line|
        register_layout = layout.register_fields_for(line[layout.prefix_range])
        next if register_layout.nil?
        Register.new(line, register_layout).refine
      end.compact
    end

    def raw_content
      @raw_data = Content.for(file_path)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
estratto-1.0.2 lib/estratto/parser.rb
estratto-1.0.1 lib/estratto/parser.rb