Module: ActiveImport

Defined in:
lib/active_import.rb,
lib/active_import/seed.rb,
lib/active_import/utility.rb,
lib/active_import/version.rb,
lib/active_import/import_csv.rb,
lib/active_import/import_excel.rb,
lib/active_import/model_converter.rb,
lib/generators/active_import/model_converter_generator.rb

Defined Under Namespace

Modules: Generators Classes: ImportCsv, ImportExcel, ModelConverter, Railtie, Seed

Constant Summary collapse

VERSION =
"0.1.7"

Class Method Summary collapse

Class Method Details

.import_file_with_path(file) ⇒ Object



2
3
4
5
6
7
8
# File 'lib/active_import/utility.rb', line 2

def self.import_file_with_path file
  f = file.strip
  unless /^\//.match(f)
    f = File.join(Rails.root, "db", "active_import", f)
  end
  f
end

.parse(import, model_converter) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/active_import/utility.rb', line 22

def self.parse(import, model_converter)
  model_converter.before
  import.parse do |import_row, converter, row_number, total_rows|
    model_converter.process_values import_row
    model = model_converter.save
    if model.respond_to?("errors")
      print "#{row_number.to_s.cyan}: "
      if model.errors.empty?
        puts "OK".green
      else
        model.errors.full_messages.each { |message| puts message.red }
      end
    end
  end
  model_converter.after
  puts model_converter.report
end

.process_converter_options(options_string) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
# File 'lib/active_import/utility.rb', line 10

def self.process_converter_options options_string
  converter_options = {}
  if options_string
    options = options_string.split(";")
    options.each do |option|
      s = option.split("=")
      converter_options[s[0].strip] = s[1].strip
    end
  end
  converter_options
end