class RuboCop::Cop::Chef::Deprecations::DeprecatedPlatformMethods
Use `provider_for_action` or provides instead of the deprecated `Chef::Platform` methods in resources, which were removed in Chef
Infra Client 13.
@example
#### incorrect resource = Chef::Resource::File.new("/tmp/foo.xyz", run_context) provider = Chef::Platform.provider_for_resource(resource, :create) resource = Chef::Resource::File.new("/tmp/foo.xyz", run_context) provider = Chef::Platform.find_provider("ubuntu", "16.04", resource) resource = Chef::Resource::File.new("/tmp/foo.xyz", run_context) provider = Chef::Platform.find_provider_for_node(node, resource) Chef::Platform.set :platform => :mac_os_x, :resource => :package, :provider => Chef::Provider::Package::Homebrew #### correct resource = Chef::Resource::File.new("/tmp/foo.xyz", run_context) provider = resource.provider_for_action(:create) # provides :package, platform_family: 'mac_os_x'
Constants
- MSG
- RESTRICT_ON_SEND
Public Instance Methods
on_send(node)
click to toggle source
# File lib/rubocop/cop/chef/deprecation/deprecated_platform_methods.rb, line 52 def on_send(node) platform_method?(node) do add_offense(node, message: MSG, severity: :warning) end end