Module: Chef::Mixin::Which
- Included in:
- Provider::Package::Dnf, Provider::Package::Dnf::PythonHelper, Provider::Package::Rubygems, Provider::Package::Yum, Provider::Package::Yum::PythonHelper, Provider::Service::Systemd, Provider::SystemdUnit, Provider::YumRepository, Resource::DnfPackage, Resource::File::Verification::SystemdUnit, Util::Selinux
- Defined in:
- lib/chef/mixin/which.rb
Instance Method Summary collapse
Instance Method Details
#where(*cmds, extra_path: nil, &block) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/chef/mixin/which.rb', line 27 def where(*cmds, extra_path: nil, &block) # NOTE: unnecessarily duplicates function of path_sanity extra_path ||= [ "/bin", "/usr/bin", "/sbin", "/usr/sbin" ] paths = env_path.split(File::PATH_SEPARATOR) + Array(extra_path) cmds.map do |cmd| paths.map do |path| filename = Chef.path_to(File.join(path, cmd)) filename if valid_executable?(filename, &block) end.compact end.flatten end |
#which(*cmds, extra_path: nil, &block) ⇒ Object
23 24 25 |
# File 'lib/chef/mixin/which.rb', line 23 def which(*cmds, extra_path: nil, &block) where(*cmds, extra_path: extra_path, &block).first || false end |