module Poise::Helpers::Inversion

A mixin for dependency inversion in Chef.

@since 2.0.0

Public Class Methods

provider_for(resource_type, node, provider_type) click to toggle source

Find a specific provider class for a resource.

@param resource_type [Symbol] Resource type in DSL format. @param node [Chef::Node] Node to use for the lookup. @param provider_type [Symbol] Provider type in DSL format. @return [Class] @example

Poise::Helpers::Inversion.provider_for(:my_resource, node, :my_provider)
# File lib/poise/helpers/inversion.rb, line 409
def self.provider_for(resource_type, node, provider_type)
  provider_map(resource_type).get(node, provider_type.to_sym)
end
provider_map(resource_type) click to toggle source

The provider map for a given resource type.

@param resource_type [Symbol] Resource type in DSL format. @return [Chef::NodeMap] @example

Poise::Helpers::Inversion.provider_map(:my_resource)
# File lib/poise/helpers/inversion.rb, line 396
def self.provider_map(resource_type)
  @provider_maps ||= {}
  @provider_maps[resource_type.to_sym] ||= Chef::NodeMap.new
end