Class: MinceMigrator::Deleter

Inherits:
Object
  • Object
show all
Defined in:
lib/mince_migrator/deleter.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Deleter

Returns a new instance of Deleter.



10
11
12
13
14
15
16
17
18
19
# File 'lib/mince_migrator/deleter.rb', line 10

def initialize(options)
  if options[:migration]
    @migration = options[:migration]
    @migration_name = Migrations::Name.new(migration.name)
  elsif options[:name]
    @migration_name = Migrations::Name.new(options[:name])
  end
  @name = migration_name.value
  @filename = migration_name.filename
end

Instance Attribute Details

#filenameObject (readonly)

Returns the value of attribute filename.



8
9
10
# File 'lib/mince_migrator/deleter.rb', line 8

def filename
  @filename
end

#migrationObject (readonly)

Returns the value of attribute migration.



8
9
10
# File 'lib/mince_migrator/deleter.rb', line 8

def migration
  @migration
end

#migration_nameObject (readonly)

Returns the value of attribute migration_name.



8
9
10
# File 'lib/mince_migrator/deleter.rb', line 8

def migration_name
  @migration_name
end

#nameObject (readonly)

Returns the value of attribute name.



8
9
10
# File 'lib/mince_migrator/deleter.rb', line 8

def name
  @name
end

Instance Method Details

#can_delete_migration?Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/mince_migrator/deleter.rb', line 26

def can_delete_migration?
  ::File.exists?(migration_path)
end

#delete_migrationObject



21
22
23
24
# File 'lib/mince_migrator/deleter.rb', line 21

def delete_migration
  ::FileUtils.rm(migration_path)
  ran_migration.delete if ran_migration
end

#migration_pathObject



34
35
36
# File 'lib/mince_migrator/deleter.rb', line 34

def migration_path
  ::File.join Config.migration_dir, filename
end

#ran_migrationObject



38
39
40
# File 'lib/mince_migrator/deleter.rb', line 38

def ran_migration
  @ran_migration ||= RanMigration.find_by_name(name)
end

#reasons_for_failureObject



30
31
32
# File 'lib/mince_migrator/deleter.rb', line 30

def reasons_for_failure
  "Migration does not exist with name '#{name}'" unless can_delete_migration?
end