class Omnitest::Psychic::FactoryManager

Constants

BUILT_IN_DIR

Attributes

factories[R]

Public Class Methods

autoload_factories!() click to toggle source
# File lib/omnitest/psychic/factory_manager.rb, line 9
def autoload_factories!
  # Load built-in task factories
  Dir.glob("#{BUILT_IN_DIR}/*.rb", File::FNM_CASEFOLD).each do |task_factory_file|
    require task_factory_file
  end
end
clear() click to toggle source
# File lib/omnitest/psychic/factory_manager.rb, line 24
def clear
  factory_classes.clear
end
factory_classes() click to toggle source
# File lib/omnitest/psychic/factory_manager.rb, line 16
def factory_classes
  @factory_classes ||= Set.new
end
new(*args) click to toggle source
# File lib/omnitest/psychic/factory_manager.rb, line 31
def initialize(*args)
  @factories = self.class.factory_classes.map { |k| k.new(*args) }
end
register_factory(klass) click to toggle source
# File lib/omnitest/psychic/factory_manager.rb, line 20
def register_factory(klass)
  factory_classes.add klass
end

Public Instance Methods

active?(klass) click to toggle source
# File lib/omnitest/psychic/factory_manager.rb, line 39
def active?(klass)
  factories.find do | factory |
    factory.is_a? klass
  end
end
active_factories() click to toggle source
# File lib/omnitest/psychic/factory_manager.rb, line 35
def active_factories
  factories.select(&:active?).sort_by(&:priority)
end