Class: QueueDispatcher::MigrationGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
Rails::Generators::Migration
Defined in:
lib/generators/queue_dispatcher/migration/migration_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args = [], options = {}, config = {}) ⇒ MigrationGenerator

Returns a new instance of MigrationGenerator.



28
29
30
# File 'lib/generators/queue_dispatcher/migration/migration_generator.rb', line 28

def initialize(args = [], options = {}, config = {})
  super
end

Class Method Details

.next_migration_number(dirname) ⇒ Object

Implement the required interface for Rails::Generators::Migration. taken from github.com/rails/rails/blob/master/activerecord/lib/generators/active_record.rb



36
37
38
39
40
41
42
# File 'lib/generators/queue_dispatcher/migration/migration_generator.rb', line 36

def self.next_migration_number(dirname)
  if ActiveRecord::Base.timestamped_migrations
    [Time.now.utc.strftime("%Y%m%d%H%M%S"), "%.14d" % (current_migration_number(dirname) + 1)].max
  else
    "%.3d" % (current_migration_number(dirname) + 1)
  end
end

Instance Method Details

#create_migration_fileObject



44
45
46
47
48
49
50
# File 'lib/generators/queue_dispatcher/migration/migration_generator.rb', line 44

def create_migration_file
  migration_template 'task_queues.rb', 'db/migrate/create_task_queues.rb'
  migration_template 'task_dependencies.rb', 'db/migrate/create_task_dependencies.rb'
  migration_template 'change_message_type_for_tasks.rb', 'db/migrate/change_message_type_for_tasks.rb'
  migration_template 'add_interrupts_to_tasks_queues.rb', 'db/migrate/add_interrupts_to_tasks_queues.rb'
  migration_template 'add_result_to_tasks.rb', 'db/migrate/add_result_to_tasks.rb'
end