class Chef::Provider::LWRPBase
Chef::Provider::LWRPBase
¶ ↑
Base class from which LWRP providers inherit.
Public Class Methods
Source
# File lib/chef/provider/lwrp_base.rb, line 52 def build_from_file(cookbook_name, filename, run_context) if LWRPBase.loaded_lwrps[filename] Chef::Log.trace("LWRP provider #{filename} from cookbook #{cookbook_name} has already been loaded! Skipping the reload.") return loaded_lwrps[filename] end resource_name = filename_to_qualified_string(cookbook_name, filename) # We load the class first to give it a chance to set its own name provider_class = Class.new(self) provider_class.provides resource_name.to_sym provider_class.class_from_file(filename) # Respect resource_name set inside the LWRP provider_class.instance_eval do define_singleton_method(:to_s) do "LWRP provider #{resource_name} from cookbook #{cookbook_name}" end define_singleton_method(:inspect) { to_s } end Chef::Log.trace("Loaded contents of #{filename} into provider #{resource_name} (#{provider_class})") LWRPBase.loaded_lwrps[filename] = true provider_class end
Protected Class Methods
Source
# File lib/chef/provider/lwrp_base.rb, line 82 def loaded_lwrps @loaded_lwrps ||= {} end
Public Instance Methods
Source
# File lib/chef/provider/lwrp_base.rb, line 45 def load_current_resource; end
no-op ‘load_current_resource`. Allows simple LWRP providers to work without defining this method explicitly (silences Chef::Exceptions::Override
exception)