class PrinterGenerator < Rails::Generators::NamedBase source_root File.expand_path('../templates', __FILE__) include Rails::Generators::Migration def self.source_root @source_root ||= File.join(File.dirname(__FILE__), 'templates') end def self.next_migration_number(dirname) if ActiveRecord::Base.timestamped_migrations Time.new.utc.strftime("%Y%m%d%H%M%S") else "%.3d" % (current_migration_number(dirname) + 1) end end def create_migration_file migration_template 'printer.rb', 'db/migrate/create_printers.rb' # allow the clock to advance 1sec sleep 1 migration_template 'print_job.rb', 'db/migrate/create_print_jobs.rb' # allow the clock to advance 1sec sleep 1 migration_template 'printable.rb', 'db/migrate/create_printables.rb' end end