Module: ColdStorage::Jobs

Defined in:
lib/cold_storage/jobs.rb

Overview

ActiveJob entry points.

The classes are built on first use (or when ActiveJob loads) so that the gem does not force ActiveJob on applications that do not use it, and so that config.job_parent_class is honoured.

ColdStorage::ArchiveModelJob.perform_later('Payroll')
ColdStorage::ArchiveAllJob.perform_later

Constant Summary collapse

JOBS =
%i[ArchiveModelJob ArchiveAllJob].freeze

Class Method Summary collapse

Class Method Details

.define!Boolean

Returns whether the job classes exist now.

Returns:

  • (Boolean)

    whether the job classes exist now



17
18
19
20
21
22
23
24
25
# File 'lib/cold_storage/jobs.rb', line 17

def define!
  return false unless defined?(ActiveJob::Base)
  return true if ColdStorage.const_defined?(:ArchiveModelJob, false)

  parent = ColdStorage.config.job_parent_class.constantize
  ColdStorage.const_set(:ArchiveModelJob, build_model_job(parent))
  ColdStorage.const_set(:ArchiveAllJob, build_all_job(parent))
  true
end