Module: Julewire::ActiveJob::Installer

Defined in:
lib/julewire/active_job/installer.rb

Constant Summary collapse

EXECUTION_INSTALL =
Core::Integration::IvarState.new(:@julewire_active_job_execution)

Class Method Summary collapse

Class Method Details

.install!(base: nil, event_reporter: nil, configuration: Configuration.new) ⇒ Object

Raises:



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/julewire/active_job/installer.rb', line 9

def install!(base: nil, event_reporter: nil, configuration: Configuration.new)
  return unless configuration.enabled?

  Julewire::ActiveJob.config = configuration
  base ||= active_job_base
  raise Error, "ActiveJob::Base is not available" unless base

  install_serialization(base, configuration)
  install_execution_callback(base, configuration)
  if configuration.structured_events?
    Subscribers::Event.install!(configuration, event_reporter: event_reporter)
  else
    Subscribers::Event.reset!
  end
  LogSubscriberSilencer.silence! if configuration.silence_log_subscriber?
  base
end