Module: Proclib
- Defined in:
- lib/proclib.rb,
lib/proclib/errors.rb,
lib/proclib/result.rb,
lib/proclib/channel.rb,
lib/proclib/command.rb,
lib/proclib/process.rb,
lib/proclib/version.rb,
lib/proclib/executor.rb,
lib/proclib/invocation.rb,
lib/proclib/output_cache.rb,
lib/proclib/process_group.rb,
lib/proclib/output_handler.rb,
lib/proclib/command_monitor.rb,
lib/proclib/loggers/console.rb,
lib/proclib/string_formatting.rb
Defined Under Namespace
Modules: Commands, Loggers, StringFormatting Classes: Channel, CommandMonitor, Executor, Invocation, OutputHandler, Result
Constant Summary collapse
- Error =
Class.new(StandardError)
- VERSION =
"0.2.0"
Class Method Summary collapse
Class Method Details
.run(cmd, tag: nil, log_to_console: false, capture_output: true, env: {}, on_output: nil, cwd: nil, ssh: nil) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/proclib.rb', line 6 def self.run(cmd, tag: nil, log_to_console: false, capture_output: true, env: {}, on_output: nil, cwd: nil, ssh: nil ) inv = Invocation.new(cmd, tag: tag, env: env, cwd: cwd, ssh: ssh) executor = Executor.new(inv.commands, log_to_console: log_to_console, cache_output: capture_output ).tap do |ex| ex.on_output(&on_output) unless on_output.nil? end executor.run_sync rescue Invocation::Invalid => e raise ArgumentError, e. end |