lib/hobo/helper/shell.rb in hobo-inviqa-0.0.8 vs lib/hobo/helper/shell.rb in hobo-inviqa-0.0.9.pre.alpha
- old
+ new
@@ -38,11 +38,12 @@
opts = {
:capture => false,
:indent => 0,
:realtime => false,
:env => {},
- :ignore_errors => false
+ :ignore_errors => false,
+ :exit_status => false
}.merge! opts
Hobo::Logging.logger.debug("helper.shell: Invoking '#{args.join(" ")}' with #{opts.to_s}")
indent = " " * opts[:indent]
@@ -69,9 +70,11 @@
t.join
end
buffer.fsync
buffer.rewind
+
+ return external.value.exitstatus if opts[:exit_status]
raise ::Hobo::ExternalCommandError.new(args.join(" "), external.value.exitstatus, buffer) if external.value.exitstatus != 0 && !opts[:ignore_errors]
return opts[:capture] ? buffer.read.strip : nil
end
\ No newline at end of file