Module: CsvImportMagic::Models

Defined in:
lib/csv_import_magic/models.rb

Instance Method Summary collapse

Instance Method Details

#csv_import_magic(options) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/csv_import_magic/models.rb', line 3

def csv_import_magic(options)
  define_method(:csv_parser_names) do
    names_of_parsers = {}

    options.each do |key, _value|
      names_of_parsers["#{key}_parser"] = "#{key.to_s.classify}Parser".constantize
    end

    names_of_parsers
  end

  define_singleton_method(:csv_parser_default_name) { "#{name.to_s.underscore}_parser" }
  define_singleton_method(:columns_names) { |param| options[param.to_s.remove('_parser').to_sym] }
end