Module: Nand::Launcher
- Defined in:
- lib/nand/launcher.rb,
lib/nand/launcher/shell_launcher.rb,
lib/nand/launcher/plugin_launcher.rb,
lib/nand/launcher/rb_file_launcher.rb,
lib/nand/launcher/executable_file_launcher.rb
Defined Under Namespace
Classes: Base, ExecutableFileLauncher, PluginLauncher, RbFileLauncher, ShellLauncher
Class Method Summary collapse
Class Method Details
.find(target, opts = {}, *argv) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/nand/launcher.rb', line 8 def self.find(target, opts = {}, *argv) require 'nand/launcher/executable_file_launcher' require 'nand/launcher/shell_launcher' require 'nand/launcher/rb_file_launcher' require 'nand/launcher/plugin_launcher' err = StringIO.new("", "w") launcher_klass = [ExecutableFileLauncher, RbFileLauncher, PluginLauncher, ShellLauncher].find do |klass| klass.launchable? target, err, opts end raise "Not Found Executable #{target}:\n#{io.string}" if launcher_klass.nil? launcher = launcher_klass.load(target, opts, *argv) raise "Not be Ready for #{target} Launcher" unless launcher.ready? launcher end |