Class: Psychic::Runner::TaskFactoryRegistry

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

Constant Summary collapse

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

Class Method Summary collapse

Methods included from Logger

#log_level=, #logger, #new_logger

Class Method Details

.active_task_factories(opts) ⇒ Object



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

def active_task_factories(opts)
  task_factories = task_factory_classes.map { |k| k.new(opts) }
  task_factories.select(&:active?)
end

.autoload_task_factories!Object



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

def autoload_task_factories!
  # Load built-in task factories
  Dir["#{BUILT_IN_DIR}/*.rb"].each do |task_factory_file|
    require task_factory_file
  end
end

.register(klass) ⇒ Object



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

def register(klass)
  task_factory_classes.add klass
end

.task_factory_classesObject



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

def task_factory_classes
  @task_factory_classes ||= Set.new
end