class Aruba::Platforms::WindowsWhich
Implement ‘which(command)` for windows
@private
Attributes
whiches[R]
Public Class Methods
new()
click to toggle source
# File lib/aruba/platforms/windows_which.rb, line 73 def initialize @whiches = [] @whiches << AbsoluteOrRelativePathWhich @whiches << ProgramWhich @whiches << DefaultWhich end
Public Instance Methods
call(program, path = ENV["PATH"])
click to toggle source
Find fully quallified path for program
@param [String] program
Name of program
@param [String] path
ENV['PATH']
# File lib/aruba/platforms/windows_which.rb, line 87 def call(program, path = ENV["PATH"]) raise ArgumentError, "ENV['PATH'] cannot be empty" if path.nil? || path.empty? program = program.to_s program += windows_executable_extentions if File.extname(program).empty? whiches.find { |w| w.match? program }.new.call(program, path) end
Private Instance Methods
windows_executable_extentions()
click to toggle source
# File lib/aruba/platforms/windows_which.rb, line 98 def windows_executable_extentions if ENV["PATHEXT"] format(".{%s}", ENV["PATHEXT"].tr(";", ",").tr(".", "")).downcase else ".{exe,com,bat}" end end