my scripts rely heavily on external programs and scripts. I need to be sure that a program I need to call exists. Manually, I\'d check this using \'which\' in the commandlin
This is a tweak of rogeriopvl's answer, making it cross platform:
require 'rbconfig' def is_windows? Config::CONFIG["host_os"] =~ /mswin|mingw/ end def exists_in_path?(file) entries = ENV['PATH'].split(is_windows? ? ";" : ":") entries.any? {|f| File.exists?("#{f}/#{file}")} end