ledermann/drafting

View on GitHub
lib/generators/drafting/migration/migration_generator.rb

Summary

Maintainability
A
0 mins
Test Coverage
require 'rails/generators'
require 'rails/generators/migration'

module Drafting
  class MigrationGenerator < Rails::Generators::Base
    include Rails::Generators::Migration

    desc 'Generates migration for Drafting'
    source_root File.expand_path('../templates', __FILE__)

    def create_migration_file
      migration_template 'migration.rb', 'db/migrate/drafting_migration.rb'
      migration_template 'non_user_migration.rb', 'db/migrate/non_user_drafting_migration.rb'
    end

    def self.next_migration_number(dirname)
      # ensure timestamp of the multiple migration files generated
      # will be different
      timestamp = Time.now.utc.strftime("%Y%m%d%H%M%S").to_i
      timestamp += 1 if current_migration_number(dirname) == timestamp

      timestamp
    end
  end
end