Module: Jumbotron::Boot::EnqueueDiscoveries

Defined in:
app/boot/jumbotron/boot/enqueue_discoveries.rb

Class Method Summary collapse

Class Method Details

.callObject



8
9
10
11
12
# File 'app/boot/jumbotron/boot/enqueue_discoveries.rb', line 8

def call
  return unless eligible?

  enqueue!
end

.eligible?Boolean

Returns:

  • (Boolean)


14
15
16
17
18
19
20
21
# File 'app/boot/jumbotron/boot/enqueue_discoveries.rb', line 14

def eligible?
  return false unless Jumbotron::Engine.config.boot_discovery
  return false if Rails.env.test?
  return false if defined?(Rails::Console)
  return false if rake_environment?

  true
end

.enqueue!Object



23
24
25
26
27
28
29
30
31
32
33
34
# File 'app/boot/jumbotron/boot/enqueue_discoveries.rb', line 23

def enqueue!
  Jumbotron::Scheduling::DesiredSchedules.ensure_adapters_loaded!
  Jumbotron::Adapters::Registry.registered.each do |adapter|
    adapter.discovery_ids.each do |discovery_id|
      Jumbotron::DiscoveryJob.perform_later(
        adapter_id: adapter.adapter_id,
        discovery_id: discovery_id.to_s,
        continuation_attempt: 1
      )
    end
  end
end

.rake_environment?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'app/boot/jumbotron/boot/enqueue_discoveries.rb', line 36

def rake_environment?
  defined?(Rake) && Rake.respond_to?(:application) && Array(Rake.application.top_level_tasks).any?
end