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.



59
60
61
62
63
64
# File 'lib/aruba/platforms/unix_which.rb', line 59

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

Raises:

  • (ArgumentError)


73
74
75
76
77
78
79
# File 'lib/aruba/platforms/unix_which.rb', line 73

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