Class: ActiveVersion::Generators::RevisionsGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Includes:
ActiveRecord::Generators::Migration
Defined in:
lib/generators/active_version/revisions/revisions_generator.rb

Instance Method Summary collapse

Instance Method Details

#create_backfill_migrationObject



36
37
38
39
40
41
42
# File 'lib/generators/active_version/revisions/revisions_generator.rb', line 36

def create_backfill_migration
  return unless options[:backfill]

  migration_template "backfill_migration.rb.erb",
    File.join("db/migrate", "backfill_#{table_name}.rb"),
    migration_version: migration_version
end

#create_revision_modelObject



16
17
18
19
# File 'lib/generators/active_version/revisions/revisions_generator.rb', line 16

def create_revision_model
  template "revision_model.rb.erb",
    File.join("app/models", class_path, "#{file_name}_revision.rb")
end

#generate_migration_fileObject



21
22
23
24
25
# File 'lib/generators/active_version/revisions/revisions_generator.rb', line 21

def generate_migration_file
  migration_template "migration.rb.erb",
    File.join("db/migrate", "create_#{table_name}.rb"),
    migration_version: migration_version
end

#inject_has_revisionsObject



27
28
29
30
31
32
33
34
# File 'lib/generators/active_version/revisions/revisions_generator.rb', line 27

def inject_has_revisions
  model_path = File.join("app/models", class_path, "#{file_name}.rb")
  return unless File.exist?(model_path)

  inject_into_class(model_path, class_name) do
    "  has_revisions\n"
  end
end