Class: CsvImportMagic::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
Rails::Generators::Migration
Defined in:
lib/generators/csv_import_magic/install_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(_dir) ⇒ Object



28
29
30
# File 'lib/generators/csv_import_magic/install_generator.rb', line 28

def self.next_migration_number(_dir)
  Time.now.utc.strftime('%Y%m%d%H%M%S')
end

Instance Method Details

#add_csv_import_magic_routesObject



14
15
16
# File 'lib/generators/csv_import_magic/install_generator.rb', line 14

def add_csv_import_magic_routes
  route "mount CsvImportMagic::Engine => '/csv_import_magic'"
end

#add_importer_migrationObject



18
19
20
# File 'lib/generators/csv_import_magic/install_generator.rb', line 18

def add_importer_migration
  migration_template 'migration.rb', "db/migrate/create_#{table_name}.rb"
end

#copy_localeObject



24
25
26
# File 'lib/generators/csv_import_magic/install_generator.rb', line 24

def copy_locale
  template '../../../config/locales/en.yml', 'config/locales/csv_import_magic.en.yml'
end

#migration_dataObject



36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/generators/csv_import_magic/install_generator.rb', line 36

def migration_data
  <<RUBY
t.attachment :attachment
t.attachment :attachment_error
t.string :source
t.string :parser
t.string :columns
t.string :message
t.string :status, default: 'pending'
t.string :additional_data
t.references :importable, polymorphic: true
RUBY
end

#migration_versionObject



54
55
56
# File 'lib/generators/csv_import_magic/install_generator.rb', line 54

def migration_version
  "[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]" if rails5?
end

#rails5?Boolean

Returns:

  • (Boolean)


50
51
52
# File 'lib/generators/csv_import_magic/install_generator.rb', line 50

def rails5?
  Rails.version.start_with? '5'
end

#table_nameObject



32
33
34
# File 'lib/generators/csv_import_magic/install_generator.rb', line 32

def table_name
  'importers'
end