Skip to content

Instantly share code, notes, and snippets.

@danielsdeleo
Created September 2, 2009 21:15
Show Gist options
  • Select an option

  • Save danielsdeleo/179961 to your computer and use it in GitHub Desktop.

Select an option

Save danielsdeleo/179961 to your computer and use it in GitHub Desktop.
~/ruby/chef$ ack-grep -C 3 "find_provider_for_node|provider_class.new|provider_klass.new"
...
chef/lib/chef/provider/package.rb
140- remote_file.source(@new_resource.response_file)
141- remote_file.backup(false)
142-
143: rf_provider_class = Chef::Platform.find_provider_for_node(@node, remote_file)
144: rf_provider = rf_provider_class.new(@node, remote_file)
145- rf_provider.load_current_resource
146- rf_provider.action_create
147-
chef/lib/chef/provider/remote_directory.rb
73- remote_file.owner(@new_resource.files_owner) if @new_resource.files_owner
74- remote_file.backup(@new_resource.files_backup) if @new_resource.files_backup
75-
76: rf_provider_class = Chef::Platform.find_provider_for_node(@node, remote_file)
77: rf_provider = rf_provider_class.new(@node, remote_file)
78- rf_provider.load_current_resource
79- rf_provider.action_create
80- @new_resource.updated = true if rf_provider.new_resource.updated
--
88- new_dir.owner(@new_resource.owner)
89- new_dir.recursive(true)
90-
91: d_provider_class = Chef::Platform.find_provider_for_node(@node, new_dir)
92: d_provider = d_provider_class.new(@node, new_dir)
93- d_provider.load_current_resource
94- d_provider.action_create
95- @new_resource.updated = true if d_provider.new_resource.updated
chef/lib/chef/runner.rb
48- def build_provider(resource)
49- provider_klass = resource.provider
50- if provider_klass == nil
51: provider_klass = Chef::Platform.find_provider_for_node(@node, resource)
52- end
53- Chef::Log.debug("#{resource} using #{provider_klass.to_s}")
54: provider = provider_klass.new(@node, resource)
55- provider.load_current_resource
56- provider
57- end
chef/lib/chef/resource.rb
219- end
220-
221- def run_action(action)
222: provider_class = Chef::Platform.find_provider_for_node(@node, self)
223: provider = provider_class.new(@node, self)
224- provider.load_current_resource
225- provider.send("action_#{action}")
226- end
chef/lib/chef/platform.rb
175- return platform, version
176- end
177-
178: def find_provider_for_node(node, resource_type)
179- platform, version = find_platform_and_version(node)
180- provider = find_provider(platform, version, resource_type)
181- end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment