1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
require 'rails/generators/active_record'
module Flipper
module Generators
class ActiveRecordGenerator < ::Rails::Generators::Base
include ::Rails::Generators::Migration
desc 'Generates migration for flipper tables'
source_paths << File.join(File.dirname(__FILE__), 'templates')
def self.next_migration_number(dirname)
::ActiveRecord::Generators::Base.next_migration_number(dirname)
end
def self.migration_version
"[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]" if requires_migration_number?
end
def self.requires_migration_number?
Rails::VERSION::MAJOR.to_i >= 5
end
def create_migration_file
options = {
migration_version: migration_version,
}
migration_template 'migration.erb', 'db/migrate/create_flipper_tables.rb', options
end
def migration_version
self.class.migration_version
end
end
end
end
|