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