Class: Rails::Generators::Actions::CreateMigration

Inherits:
Thor::Actions::CreateFile
  • Object
show all
Defined in:
lib/rails/generators/actions/create_migration.rb

Overview

:nodoc:

Instance Method Summary collapse

Instance Method Details

#existing_migrationObject Also known as: exists?



33
34
35
36
37
38
# File 'lib/rails/generators/actions/create_migration.rb', line 33

def existing_migration
  @existing_migration ||= begin
    @base.class.migration_exists?(migration_dir, migration_file_name) ||
    File.exist?(@destination) && @destination
  end
end

#identical?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/rails/generators/actions/create_migration.rb', line 17

def identical?
  exists? && File.binread(existing_migration) == render
end

#migration_dirObject



9
10
11
# File 'lib/rails/generators/actions/create_migration.rb', line 9

def migration_dir
  File.dirname(@destination)
end

#migration_file_nameObject



13
14
15
# File 'lib/rails/generators/actions/create_migration.rb', line 13

def migration_file_name
  @base.migration_file_name
end

#relative_existing_migrationObject



29
30
31
# File 'lib/rails/generators/actions/create_migration.rb', line 29

def relative_existing_migration
  base.relative_to_original_destination_root(existing_migration)
end

#revoke!Object



21
22
23
24
25
26
27
# File 'lib/rails/generators/actions/create_migration.rb', line 21

def revoke!
  say_destination = exists? ? relative_existing_migration : relative_destination
  say_status :remove, :red, say_destination
  return unless exists?
  ::FileUtils.rm_rf(existing_migration) unless pretend?
  existing_migration
end