Module: Generators::SeedMigrator::Helper

Included in:
SeedMigrator::CreateGenerator, SeedMigrator::InstallGenerator
Defined in:
lib/generators/seed_migrator/helper.rb

Overview

Helper methods for generators

Instance Method Summary collapse

Instance Method Details

#application?Boolean

Is this a Rails Application or Engine?

Returns:

  • (Boolean)


7
8
9
# File 'lib/generators/seed_migrator/helper.rb', line 7

def application?
  Rails.application.is_a?(Rails::Application)
end

#application_class_nameString

Regular name of the application or engine

Examples:

AppName

Returns:

  • (String)


31
32
33
# File 'lib/generators/seed_migrator/helper.rb', line 31

def application_class_name
  full_application_class_name.split('::').first
end

#application_nameString

Name of the application or engine useful for files and directories

Returns:

  • (String)


13
14
15
16
17
18
19
# File 'lib/generators/seed_migrator/helper.rb', line 13

def application_name
  if defined?(Rails) && Rails.application
    application_class_name.underscore
  else
    "application"
  end
end

#data_update_class_nameString

Class name for use in data_update files

Returns:

  • (String)


37
38
39
# File 'lib/generators/seed_migrator/helper.rb', line 37

def data_update_class_name
  migration_class_name
end

#data_update_file_nameString

Name useful for the data update file

Returns:

  • (String)


43
44
45
# File 'lib/generators/seed_migrator/helper.rb', line 43

def data_update_file_name
  "#{migration_number}_#{file_name}_data_update"
end

#full_application_class_nameString

Fully qualified name of the application or engine

Examples:

AppName::Engine or AppName::Application

Returns:

  • (String)


24
25
26
# File 'lib/generators/seed_migrator/helper.rb', line 24

def full_application_class_name
  Rails.application.class.name
end

#version_suffixString

Version suffix for Rails 5 migrations.

Returns:

  • (String)


50
51
52
53
54
55
56
# File 'lib/generators/seed_migrator/helper.rb', line 50

def version_suffix
  major_version, minor_version, *_ = Rails.version.split(".")

  return "" if major_version.to_i < 5

  "[#{major_version}.#{minor_version}]"
end