Class: Psychic::Runner::ColdRunnerRegistry

Inherits:
Object
  • Object
show all
Includes:
Logger
Defined in:
lib/psychic/runner/cold_runner_registry.rb

Constant Summary collapse

BUILT_IN_DIR =
File.expand_path('../cold', __FILE__)

Class Method Summary collapse

Methods included from Logger

#log_level=, #logger, #new_logger

Class Method Details

.active_runners(opts) ⇒ Object



24
25
26
27
# File 'lib/psychic/runner/cold_runner_registry.rb', line 24

def active_runners(opts)
  runners = runner_classes.map { |k| k.new(opts) }
  runners.select(&:active?)
end

.autoload_runners!Object



9
10
11
12
13
14
# File 'lib/psychic/runner/cold_runner_registry.rb', line 9

def autoload_runners!
  # Load built-in runners
  Dir["#{BUILT_IN_DIR}/*.rb"].each do |cold_runner_file|
    require cold_runner_file
  end
end

.register(klass) ⇒ Object



20
21
22
# File 'lib/psychic/runner/cold_runner_registry.rb', line 20

def register(klass)
  runner_classes.add klass
end

.runner_classesObject



16
17
18
# File 'lib/psychic/runner/cold_runner_registry.rb', line 16

def runner_classes
  @runner_classes ||= Set.new
end