Module: Poise

Includes:
Utils::ResourceProviderMixin
Defined in:
lib/poise.rb,
lib/poise/error.rb,
lib/poise/utils.rb,
lib/poise/helpers.rb,
lib/poise/version.rb,
lib/poise/provider.rb,
lib/poise/resource.rb,
lib/poise/backports.rb,
lib/poise/subcontext.rb,
lib/poise/utils/win32.rb,
lib/poise/helpers/fused.rb,
lib/poise/utils/shell_out.rb,
lib/poise/helpers/inversion.rb,
lib/poise/subcontext/runner.rb,
lib/poise/helpers/defined_in.rb,
lib/poise/helpers/win32_user.rb,
lib/poise/backports/not_passed.rb,
lib/poise/helpers/lazy_default.rb,
lib/poise/helpers/subresources.rb,
lib/poise/backports/verify_path.rb,
lib/poise/helpers/lwrp_polyfill.rb,
lib/poise/helpers/resource_name.rb,
lib/poise/helpers/include_recipe.rb,
lib/poise/helpers/notifying_block.rb,
lib/poise/helpers/option_collector.rb,
lib/poise/helpers/resource_cloning.rb,
lib/poise/helpers/subcontext_block.rb,
lib/poise/helpers/template_content.rb,
lib/poise/helpers/chefspec_matchers.rb,
lib/poise/helpers/resource_subclass.rb,
lib/poise/helpers/subresources/child.rb,
lib/poise/utils/resource_provider_mixin.rb,
lib/poise/helpers/subresources/container.rb,
lib/poise/subcontext/resource_collection.rb,
lib/poise/helpers/inversion/options_provider.rb,
lib/poise/helpers/inversion/options_resource.rb,
lib/poise/helpers/subresources/default_containers.rb

Defined Under Namespace

Modules: Backports, Helpers, Provider, Resource, Utils Classes: Error

Constant Summary collapse

VERSION =
'2.8.1'
NOT_PASSED =

An alias to Backports::NOT_PASSED to avoid typing so much.

See Also:

Since:

  • 2.3.0

Backports::NOT_PASSED

Class Method Summary collapse

Methods included from Utils::ResourceProviderMixin

included

Class Method Details

.debug(msg)

This method returns an undefined value.

Log a message only if Poise's extra debugging output is enabled.

Parameters:

  • msg (String)

    Log message.

See Also:

  • #debug?


61
62
63
# File 'lib/poise.rb', line 61

def self.debug(msg)
  Chef::Log.debug(msg) if debug?
end

.debug?(node = nil) ⇒ Boolean

Check if Poise's extra debugging output is enabled. This produces a lot of logging.

Parameters:

  • node (Chef::Node, Chef::RunContext) (defaults to: nil)

    Optional node to check for attributes. If not given, Chef.node is used instead.

Returns:

  • (Boolean)


41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/poise.rb', line 41

def self.debug?(node=nil)
  node = node.node if node.is_a?(Chef::RunContext)
  node ||= Chef.node if defined?(Chef.node)
  @debug_file_upper = ::File.exist?('/POISE_DEBUG') unless defined?(@debug_file_upper)
  @debug_file_lower = ::File.exist?('/poise_debug') unless defined?(@debug_file_lower)
  !!(
    (ENV['POISE_DEBUG'] && ENV['POISE_DEBUG'] != 'false') ||
    (ENV['poise_debug'] && ENV['poise_debug'] != 'false') ||
    (node && node['POISE_DEBUG']) ||
    (node && node['poise_debug']) ||
    @debug_file_upper ||
    @debug_file_lower
  )
end