class Quandl::Babelfish::Cleaner
Public Class Methods
process(dirty_array, date_settings={}, number_settings={})
click to toggle source
# File lib/quandl/babelfish/cleaner.rb, line 6 def process(dirty_array, date_settings={}, number_settings={}) return nil,nil if dirty_array.nil? #check if first line is header header=DateMaid::disinfect(dirty_array.shift) unless DateMaid::analyze_date_format(DateMaid::disinfect(dirty_array[0][0])[0])[0] return [], header if dirty_array.empty? #converts dates first dirty_array dates = dirty_array.collect{|x| x[0]} DateMaid::init(date_settings) clean_dates=DateMaid::sweep dates clean_array=[] #clean numbers later NumberMaid::init(number_settings) dirty_array.each.with_index do |row, i| new_row=[] clean_row=NumberMaid::clean(row[1..-1]) clean_row=[nil] if clean_row.nil? (new_row << clean_dates[i]).concat Array(clean_row) #add clean date and all clean numbers clean_array << new_row end return clean_array, header end