52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
# 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)
provider_class = Class.new(self)
provider_class.provides resource_name.to_sym
provider_class.class_from_file(filename)
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
|