Sha256: 39c0307a163c5abe7934afb83de79c50473262fa4159205aa548586ab8a7fc96
Contents?: true
Size: 1.22 KB
Versions: 1
Compression:
Stored size: 1.22 KB
Contents
require 'albacore/support/attrmethods' module RunCommand extend AttrMethods attr_accessor :command, :working_directory attr_array :parameters def initialize @working_directory = Dir.pwd @parameters = [] super() end def run_command(name="Command Line", parameters=nil) params = Array.new params << parameters unless parameters.nil? params << @parameters unless (@parameters.nil? || @parameters.length==0) cmd = get_command(params) @logger.debug "Executing #{name}: #{cmd}" set_working_directory result = system cmd reset_working_directory result end def get_command(params) cmd = "\"#{@command}\"" cmd +=" #{params.join(' ')}" if params.length > 0 cmd end def combine_parameters(params1, params2) combined = params1.collect combined = combined.push(params2) unless params2.nil? combined end def set_working_directory @original_directory = Dir.pwd return if @working_directory == @original_directory Dir.chdir(@working_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.2.0.preview1 | lib/albacore/support/runcommand.rb |