class DRbQS::CommandTask::CommandExecute
Execute a command and transfer files if needed.
Public Class Methods
new(cmds, opts = {})
click to toggle source
# File lib/drbqs/ext/task/command_task.rb, line 7 def initialize(cmds, opts = {}) opts.assert_valid_keys(:transfer, :compress) @cmds = cmds if String === @cmds @cmds = [@cmds] elsif !(Array === @cmds) raise ArgumentError, "Invalid command: #{@cmds.inspect}" end @transfer = opts[:transfer] @compress = opts[:compress] end
Public Instance Methods
exec()
click to toggle source
# File lib/drbqs/ext/task/command_task.rb, line 19 def exec exit_status_ary = @cmds.map do |cmd| system(cmd) $?.exitstatus end if @transfer if @transfer.respond_to?(:each) @transfer.each { |path| DRbQS::Transfer.enqueue(path, :compress => @compress) } else DRbQS::Transfer.enqueue(@transfer, :compress => @compress) end end exit_status_ary end