Method: Chef::Resource::LWRPBase.build_from_file
- Defined in:
- lib/chef/resource/lwrp_base.rb
.build_from_file(cookbook_name, filename, run_context) ⇒ Object
Evaluates the LWRP resource file and instantiates a new Resource class.
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/chef/resource/lwrp_base.rb', line 37 def self.build_from_file(cookbook_name, filename, run_context) rname = filename_to_qualified_string(cookbook_name, filename) # Add log entry if we override an existing light-weight resource. class_name = convert_to_class_name(rname) overriding = Chef::Resource.const_defined?(class_name) Chef::Log.info("#{class_name} light-weight resource already initialized -- overriding!") if overriding resource_class = Class.new(self) resource_class.resource_name = rname resource_class.run_context = run_context resource_class.class_from_file(filename) Chef::Resource.const_set(class_name, resource_class) Chef::Log.debug("Loaded contents of #{filename} into a resource named #{rname} defined in Chef::Resource::#{class_name}") resource_class end |