module CsvImportMagic::Models

Public Instance Methods

csv_import_magic(options) click to toggle source
# 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