Class: Chef::GuardInterpreter::DefaultGuardInterpreter
- Inherits:
-
Object
- Object
- Chef::GuardInterpreter::DefaultGuardInterpreter
- Includes:
- Mixin::ShellOut
- Defined in:
- lib/chef/guard_interpreter/default_guard_interpreter.rb
Direct Known Subclasses
Instance Method Summary collapse
- #evaluate ⇒ Object
-
#initialize(command, opts) ⇒ DefaultGuardInterpreter
constructor
A new instance of DefaultGuardInterpreter.
Methods included from Mixin::ShellOut
apply_default_env, maybe_add_timeout, #shell_out, #shell_out!
Constructor Details
#initialize(command, opts) ⇒ DefaultGuardInterpreter
Returns a new instance of DefaultGuardInterpreter.
27 28 29 30 |
# File 'lib/chef/guard_interpreter/default_guard_interpreter.rb', line 27 def initialize(command, opts) @command = command @command_opts = opts end |
Instance Method Details
#evaluate ⇒ Object
32 33 34 35 36 37 38 39 40 41 |
# File 'lib/chef/guard_interpreter/default_guard_interpreter.rb', line 32 def evaluate result = shell_out(@command, default_env: false, **@command_opts) Chef::Log.debug "Command failed: #{result.stderr}" unless result.status.success? result.status.success? # Timeout fails command rather than chef-client run, see: # https://tickets.opscode.com/browse/CHEF-2690 rescue Chef::Exceptions::CommandTimeout Chef::Log.warn "Command '#{@command}' timed out" false end |