def execute
      allocation = {}
      File.open(infile).each_with_index do |line, index|
        row = row_filter.process(line, row: index)
        next if row.nil? or row.empty?
        key = key_filter.process(row)
        allocation[key] = [] if allocation[key].nil?
        allocation[key] << col_filter.process(row).split(';') 
      end

      File.open(outfile, 'w') do |out|
        allocation.each do |key, values|
          out.puts "#{key};#{values.flatten.uniq.sort.join(';')}"
        end
      end
    end
def execute
      allocation = {}
      File.open(infile).each_with_index do |line, index|
        row = row_filter.process(line, row: index)
        next if row.nil? or row.empty?
        key = key_filter.process(row)
        allocation[key] = [] if allocation[key].nil?
        allocation[key] << col_filter.process(row).split(';') 
      end

      File.open(outfile, 'w') do |out|
        allocation.each do |key, values|
          out.puts "
        end
      end
    end
def execute allocation = { } File . open ( infile ) . each_with_index do | line , index | row = row_filter . process ( line , row : index ) next if row . nil? or row . empty? key = key_filter . process ( row ) allocation [ key ] = [ ] if allocation [ key ] . nil? allocation [ key ] << col_filter . process ( row ) . split ( ';' ) end File . open ( outfile , 'w' ) do | out | allocation . each do | key , values | out . puts "#{key};#{values.flatten.uniq.sort.join(';')}" end end end
Creates a new allocator. Options are infile, outfile, key, rows and columns to allocate to key
 Executes the allocator and assigns column values to the key
Creates a new allocator . Options are infile outfile key rows and columns to allocate to key Executes the allocator and assigns column values to the key