class MinceMigrator::Creator

Attributes

migration_name[R]
name[R]

Public Class Methods

create(name) click to toggle source
# File lib/mince_migrator/creator.rb, line 42
def self.create(name)
  new(name).tap do |creator|
    creator.create_migration if creator.can_create_migration?
  end
end
new(name=nil) click to toggle source
# File lib/mince_migrator/creator.rb, line 10
def initialize(name=nil)
  @migration_name = Migrations::Name.new(name)
  @name = migration_name.value
end

Public Instance Methods

can_create_migration?() click to toggle source
# File lib/mince_migrator/creator.rb, line 15
def can_create_migration?
  migration_name.valid?
end
create_migration() click to toggle source
# File lib/mince_migrator/creator.rb, line 23
def create_migration
  FileUtils.mkdir_p(Config.migration_dir)
  file = ::File.open(migration_file.full_path, 'w+')
  file.write migration_file.body
  file.close
end
migration_file() click to toggle source
# File lib/mince_migrator/creator.rb, line 30
def migration_file
  @migration_file ||= versioned_file.next_unused_version
end
migration_file_relative_path() click to toggle source
# File lib/mince_migrator/creator.rb, line 38
def migration_file_relative_path
  migration_file.full_relative_path
end
reasons_for_failure() click to toggle source
# File lib/mince_migrator/creator.rb, line 19
def reasons_for_failure
  migration_name.reasons_for_failure
end
versioned_file() click to toggle source
# File lib/mince_migrator/creator.rb, line 34
def versioned_file
  @versioned_file ||= Migrations::VersionedFile.new(name)
end