module TasksMigration::Migrate

Public Class Methods

start() click to toggle source
# File lib/tasks_migration/migrate.rb, line 7
def start
  all_tasks = get_all_tasks
  executed_tasks = TasksMigrationSchema.pluck :version

  (all_tasks - executed_tasks).each do |task|
    task_name = task.classify

    puts "Running task #{task_name}..."
    task_name.constantize.execute

    TasksMigrationSchema.create version: task
  end
end

Private Class Methods

get_all_tasks() click to toggle source
# File lib/tasks_migration/migrate.rb, line 22
def get_all_tasks
  tasks_file_path = ::Rails.root.join "config", "tasks_migration.yml"
  YAML.load_file(tasks_file_path)["tasks"] || []
end