lib/command.rb in wixgem-0.45.0 vs lib/command.rb in wixgem-0.46.0
- old
+ new
@@ -2,27 +2,30 @@
require 'hash'
module Wixgem
class Command < Hash
- def initialize(cmd)
- self[:command]=cmd
+ def initialize(cmd, options=nil)
self[:output] = ''
self[:error] = ''
self[:exit_code] = ''
self[:ignore_exit_code] = false
self[:debug] = false
+ self[:quiet] = false
+
+ self[:command]=cmd
+ options.each { |key, value| self[key] = value} unless(options.nil?)
end
def execute
begin
- puts "command: #{self[:command]}" if(self[:debug])
+ puts self[:command] unless(self[:quiet])
self[:output],self[:error], self[:exit_code] = Open3.capture3(self[:command])
self[:exit_code]=self[:exit_code].to_i
+ puts self[:output] unless(self[:quiet])
if(self[:debug])
- puts "output: #{self[:output]}"
puts "error: #{self[:error]}"
puts "exit_code: #{self[:exit_code]}"
end
rescue Exception => e
self[:error] = "Exception: " + e.to_s
@@ -30,10 +33,10 @@
end
if((self[:exit_code] != 0) && !self[:ignore_exit_code])
exception_text = self[:error]
exception_text = self[:output] if(self[:error].empty?)
- raise "Command exception: #{exception_text}"
+ raise exception_text
end
end
end
end
\ No newline at end of file