Class: Slimak::Generators::AddSlugGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Includes:
Rails::Generators::Migration
Defined in:
lib/generators/slimak/add_slug/add_slug_generator.rb

Overview

Usage:

rails generate slimak:add_slug ModelName --column=slug --scope=project_id --migration_version=6.1

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(dirname) ⇒ Object

Required by Rails::Generators::Migration to generate unique migration numbers



18
19
20
21
22
23
24
# File 'lib/generators/slimak/add_slug/add_slug_generator.rb', line 18

def self.next_migration_number(dirname)
  if ActiveRecord::Base.timestamped_migrations
    Time.now.utc.strftime("%Y%m%d%H%M%S")
  else
    "%.3d" % (current_migration_number(dirname) + 1)
  end
end

Instance Method Details

#create_initializer_fileObject



31
32
33
# File 'lib/generators/slimak/add_slug/add_slug_generator.rb', line 31

def create_initializer_file
  template "slimak_initializer.rb.erb", "config/initializers/slimak.rb"
end

#create_migration_fileObject



26
27
28
29
# File 'lib/generators/slimak/add_slug/add_slug_generator.rb', line 26

def create_migration_file
  migration_filename = "add_#{options['column'] || 'slug'}_to_#{file_name.pluralize}.rb"
  migration_template "add_slug_migration.rb.erb", "db/migrate/#{migration_filename}", migration_version: migration_version_option
end