Class: Which

Inherits:
Object show all
Defined in:
lib/kramdown-plantuml/which.rb

Overview

Mimics the ‘which` Unix utility

Class Method Summary collapse

Class Method Details

.which(cmd) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
# File 'lib/kramdown-plantuml/which.rb', line 5

def self.which(cmd)
  exts = ENV['PATHEXT'] ? ENV['PATHEXT'].split(';') : ['']
  ENV['PATH'].split(File::PATH_SEPARATOR).each do |path|
    exts.each do |ext|
      exe = File.join(path, "#{cmd}#{ext}")
      return exe if File.executable?(exe) && !File.directory?(exe)
    end
  end

  nil
end