Class: WindowsPathFinder

Inherits:
Object
  • Object
show all
Defined in:
lib/getversion/path_finders/windows_path_finder.rb

Instance Method Summary collapse

Instance Method Details

#find_path(executable_name) ⇒ Object



3
4
5
6
7
8
9
# File 'lib/getversion/path_finders/windows_path_finder.rb', line 3

def find_path(executable_name)
  paths = ENV['PATH'].split ';'
  extensions = ENV['PATHEXT'].split ';'
  possibilities = paths.map { |path| extensions.map { |ext| File.join(path, executable_name + ext.downcase).gsub('/', '\\') } }.flatten
  executable = possibilities.select { |exe| File.exist? exe }.first
  executable ? File.dirname(executable) : nil
end