Class: Aruba::Platforms::UnixWhich

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

Overview

Implement which(command) for UNIX/Linux

Defined Under Namespace

Classes: AbsoluteOrRelativePathWhich, DefaultWhich, ProgramWhich

Instance Method Summary collapse

Constructor Details

#initializeUnixWhich

Returns a new instance of UnixWhich.



63
64
65
66
67
68
# File 'lib/aruba/platforms/unix_which.rb', line 63

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

Instance Method Details

#call(program, path = ) ⇒ Object

Find fully quallified path for program

Parameters:

  • program (String)

    Name of program

  • path (String) (defaults to: )

    ENV['PATH']

Raises:

  • (ArgumentError)


77
78
79
80
81
82
# File 'lib/aruba/platforms/unix_which.rb', line 77

def call(program, path = ENV['PATH'])
  raise ArgumentError, "ENV['PATH'] cannot be empty" if path.nil? || path.empty?
  program = program.to_s

  whiches.find { |w| w.match? program }.new.call(program, path)
end