Sha256: 402244022f531e2ffd1b887afd7eb54ee08c1337dc97b3e6b9ab64aaccd53433
Contents?: true
Size: 1.27 KB
Versions: 1
Compression:
Stored size: 1.27 KB
Contents
require 'albacore/support/failure' module RunCommand extend AttrMethods include Failure attr_accessor :path_to_command, :require_valid_command, :command_directory attr_array :parameters def initialize @require_valid_command = true @command_directory = Dir.pwd @parameters = [] super() end def run_command(command_name="Command Line", command_parameters=nil) if @require_valid_command return false unless valid_command_exists end @parameters = @parameters.push(command_parameters) unless command_parameters.nil? command = "\"#{@path_to_command}\" #{@parameters.join(' ')}" @logger.debug "Executing #{command_name}: #{command}" set_working_directory result = system command reset_working_directory result end def valid_command_exists return true if File.exist?(@path_to_command || "") msg = "Command not found: #{@path_to_command}" @logger.fatal msg end def set_working_directory @original_directory = Dir.pwd return if @command_directory == @original_directory Dir.chdir(@command_directory) end def reset_working_directory return if Dir.pwd == @original_directory Dir.chdir(@original_directory) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
albacore-0.1.3 | lib/albacore/support/runcommand.rb |