Module: Facter::Core::Execution
- Included in:
- Util::Resolution
- Defined in:
- lib/custom_facts/core/execution.rb,
lib/custom_facts/core/execution/base.rb,
lib/custom_facts/core/execution/posix.rb,
lib/custom_facts/core/execution/windows.rb
Overview
Defined Under Namespace
Classes: Base, ExecutionFailure, Posix, Windows
Constant Summary collapse
- @@impl =
require_relative ‘execution/base’ require_relative ‘execution/windows’ require_relative ‘execution/posix’
if LegacyFacter::Util::Config.windows? Facter::Core::Execution::Windows.new else Facter::Core::Execution::Posix.new end
Class Method Summary collapse
-
.absolute_path?(path, platform = nil) ⇒ Boolean
Determine in a platform-specific way whether a path is absolute.
-
.exec(command) ⇒ String
deprecated
Deprecated.
Use #Execution.execute instead
-
.execute(command, options = {}) ⇒ String
Execute a command and return the output of that program.
-
.expand_command(command) ⇒ String?
Given a command line, this returns the command line with the executable written as an absolute path.
- .impl ⇒ Object
-
.search_paths ⇒ Array<String>
private
Returns the locations to be searched when looking for a binary.
-
.which(bin) ⇒ String?
Determines the full path to a binary.
-
.with_env(values, { || ... }) ⇒ void
Overrides environment variables within a block of code.
Class Method Details
.absolute_path?(path, platform = nil) ⇒ Boolean
Determine in a platform-specific way whether a path is absolute. This defaults to the local platform if none is specified.
53 54 55 |
# File 'lib/custom_facts/core/execution.rb', line 53 def absolute_path?(path, platform = nil) @@impl.absolute_path?(path, platform) end |
.exec(command) ⇒ String
Use #execute instead
Try to execute a command and return the output.
94 95 96 |
# File 'lib/custom_facts/core/execution.rb', line 94 def exec(command) @@impl.execute(command, on_fail: nil) end |
.execute(command, options = {}) ⇒ String
Execute a command and return the output of that program.
115 116 117 |
# File 'lib/custom_facts/core/execution.rb', line 115 def execute(command, = {}) @@impl.execute(command, ) end |
.expand_command(command) ⇒ String?
Given a command line, this returns the command line with the executable written as an absolute path. If the executable contains spaces, it has be put in double quotes to be properly recognized.
expanded, or nil if the executable cannot be found.
65 66 67 |
# File 'lib/custom_facts/core/execution.rb', line 65 def (command) @@impl.(command) end |
.impl ⇒ Object
16 17 18 |
# File 'lib/custom_facts/core/execution.rb', line 16 def self.impl @@impl end |
.search_paths ⇒ Array<String>
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns the locations to be searched when looking for a binary. This is currently determined by the PATH
environment variable plus ‘/sbin` and `/usr/sbin` when run on unix
28 29 30 |
# File 'lib/custom_facts/core/execution.rb', line 28 def search_paths @@impl.search_paths end |
.which(bin) ⇒ String?
Determines the full path to a binary. If the supplied filename does not already describe an absolute path then different locations (determined by search_paths) will be searched for a match.
Returns nil if no matching executable can be found otherwise returns the expanded pathname.
44 45 46 |
# File 'lib/custom_facts/core/execution.rb', line 44 def which(bin) @@impl.which(bin) end |
.with_env(values, { || ... }) ⇒ void
This method returns an undefined value.
Overrides environment variables within a block of code. The specified values will be set for the duration of the block, after which the original values (if any) will be restored.
81 82 83 |
# File 'lib/custom_facts/core/execution.rb', line 81 def with_env(values, &block) @@impl.with_env(values, &block) end |