Class: DataShift::Loader::Factory

Inherits:
Object
  • Object
show all
Defined in:
lib/datashift/loaders/loader_factory.rb

Class Method Summary collapse

Class Method Details

.get_loader(file_name) ⇒ Object

Currently supports :

Excel/Open Office files saved as .xls
CSV files

Raises:



31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/datashift/loaders/loader_factory.rb', line 31

def self.get_loader(file_name)

  raise DataShift::BadFile, "Cannot load #{file_name} file not found." unless File.exist?(file_name)

  ext = File.extname(file_name)

  if ext.casecmp('.xls') == 0 || ext.casecmp('.xlsx') == 0
    return ExcelLoader.new
  elsif ext.casecmp('.csv') == 0
    return CsvLoader.new
  else
    raise DataShift::UnsupportedFileType, "#{ext} files not supported - Try .csv or OpenOffice/Excel .xls"
  end
end