Sha256: 2899d72865a46acc6460b1ce469b69fb1c3abcae7b2f96270524fcafa0c49ffd

Contents?: true

Size: 750 Bytes

Versions: 1

Compression:

Stored size: 750 Bytes

Contents

require 'fastercsv'
class UBImporter
  
  attr_accessor :original_file, :original_lines, :changed_lines
  
  def initialize(original_file)
    @original_file = original_file
    @original_lines = []
    @changed_lines = []
    FasterCSV.foreach(original_file) do |row|
      @original_lines << row
    end
    @original_lines.each do |line|
      @changed_lines << process_line(line)
    end
  end
  
  def output
    changed_lines.collect { |line| line.to_csv }.join
  end
  
  def process_line(line)
    if line.first == 'Sort Code'
      line[17] = 'Amount'
      line[16] = 'TxType'
    elsif line.last.to_i > 0
      line[16] = 'CREDIT'
    elsif line[16].to_i < 0
      line[17] = line[16]
      line[16] = 'DEBIT'
    end
    line
  end
  
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ubimport-0.1.0 lib/ub_importer.rb