Class: GoodJob::UpdateGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
ActiveRecord::Generators::Migration
Defined in:
lib/generators/good_job/update_generator.rb

Overview

Rails generator used for updating GoodJob in a Rails application. Run it with bin/rails g good_job:update in your console.

Constant Summary collapse

TEMPLATES =
File.join(File.dirname(__FILE__), "templates/update")

Instance Method Summary collapse

Instance Method Details

#update_migration_filesObject

Generates incremental migration files unless they already exist. All migrations should be idempotent e.g. add_index is guarded with if_index_exists?



21
22
23
24
25
26
27
# File 'lib/generators/good_job/update_generator.rb', line 21

def update_migration_files
  migration_templates = Dir.children(File.join(TEMPLATES, 'migrations')).sort
  migration_templates.each do |template_file|
    destination_file = template_file.match(/^\d*_(.*\.rb)/)[1] # 01_create_good_jobs.rb.erb => create_good_jobs.rb
    migration_template "migrations/#{template_file}", File.join(db_migrate_path, destination_file), skip: true
  end
end