class Omnitest::Psychic::ScriptFactory
Constants
- TASK_PRIORITY
Attributes
priority[R]
psychic[R]
run_patterns[R]
Public Class Methods
new(psychic, opts)
click to toggle source
# File lib/omnitest/psychic/script_factory.rb, line 32 def initialize(psychic, opts) @psychic = psychic @opts = opts @logger = psychic.logger end
priority_for_script(script)
click to toggle source
# File lib/omnitest/psychic/script_factory.rb, line 23 def priority_for_script(script) script_path = Pathname(script) run_patterns.each do | pattern, priority | return priority if script_path.fnmatch(pattern, File::FNM_CASEFOLD) end nil end
register_script_factory()
click to toggle source
# File lib/omnitest/psychic/script_factory.rb, line 11 def register_script_factory Omnitest::Psychic::ScriptFactoryManager.register_factory(self) end
run_patterns()
click to toggle source
# File lib/omnitest/psychic/script_factory.rb, line 15 def run_patterns @run_patterns ||= {} end
runs(ext, priority = 5)
click to toggle source
# File lib/omnitest/psychic/script_factory.rb, line 19 def runs(ext, priority = 5) run_patterns[ext] = priority end
Public Instance Methods
active?()
click to toggle source
# File lib/omnitest/psychic/script_factory.rb, line 38 def active? true end
cwd()
click to toggle source
# File lib/omnitest/psychic/script_factory.rb, line 42 def cwd psychic.cwd end
known_script?(script)
click to toggle source
# File lib/omnitest/psychic/script_factory.rb, line 53 def known_script?(script) known_scripts.include? Pathname(script) end
known_scripts()
click to toggle source
# File lib/omnitest/psychic/script_factory.rb, line 46 def known_scripts cwd_path = Pathname(cwd) self.class.run_patterns.flat_map do | pattern, _priority | Dir[cwd_path.join(pattern)] end end
priority_for_script(script)
click to toggle source
# File lib/omnitest/psychic/script_factory.rb, line 57 def priority_for_script(script) self.class.priority_for_script(script) end
script(_script)
click to toggle source
# File lib/omnitest/psychic/script_factory.rb, line 61 def script(_script) fail NotImplementedError, 'This should be implemented by subclasses' end