Class: FluentCommandBuilder::WindowsPathFinder

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

Instance Method Summary collapse

Instance Method Details

#find_path(executable_name) ⇒ Object



4
5
6
7
8
9
10
11
# File 'lib/fluent_command_builder/internal/path_finders/windows_path_finder.rb', line 4

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
  return unless executable
  File.dirname executable
end