Class: Aruba::Platforms::WindowsWhich

Inherits:
Object
  • Object
show all
Defined in:
lib/aruba/platforms/windows_which.rb

Overview

Implement `which(command)` for windows

Defined Under Namespace

Classes: AbsoluteOrRelativePathWhich, DefaultWhich, ProgramWhich

Instance Method Summary collapse

Constructor Details

#initializeWindowsWhich

Returns a new instance of WindowsWhich.


72
73
74
75
76
77
# File 'lib/aruba/platforms/windows_which.rb', line 72

def initialize
  @whiches = []
  @whiches << AbsoluteOrRelativePathWhich
  @whiches << ProgramWhich
  @whiches << DefaultWhich
end

Instance Method Details

#call(program, path = ENV['PATH']) ⇒ Object

Find fully quallified path for program

Parameters:

  • program (String)

    Name of program

  • path (String) (defaults to: ENV['PATH'])

    ENV

Raises:

  • (ArgumentError)

86
87
88
89
90
91
92
93
# File 'lib/aruba/platforms/windows_which.rb', line 86

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