Method: OneOff::Migrator.run

Defined in:
lib/one_off/migrator.rb

.run(files: pending_files, async: true) ⇒ Object



6
7
8
9
10
11
12
13
# File 'lib/one_off/migrator.rb', line 6

def run(files: pending_files, async: true)
  files.sort_by(&:version).each do |file|
    method = ActiveModel::Type::Boolean.new.cast(async) ? :perform_later : :perform_now
    OneOff::ExecutorJob.method(method).call(file)
    Rails.logger.info "=== Queued one_off task #{file.task_name}"
    OneOff::Task.create_or_find_by!(version: file.version)
  end
end