class RuboCop::Cop::Chef::Deprecations::UserDeprecatedSupportsProperty
The supports property was removed in Chef
Infra Client 13 in favor of individual ‘manage_home’ and ‘non_unique’ properties.
@example
#### incorrect user "betty" do supports({ manage_home: true, non_unique: true }) end user 'betty' do supports :manage_home => true end #### correct user "betty" do manage_home true non_unique true end
Constants
- MSG
Public Instance Methods
on_block(node)
click to toggle source
# File lib/rubocop/cop/chef/deprecation/user_supports_property.rb, line 50 def on_block(node) match_property_in_resource?(:user, 'supports', node) do |property| add_offense(property, severity: :warning) do |corrector| new_text = [] property.arguments.first.each_pair do |k, v| # account for a strange edge case where the person incorrectly makes "manage_home a method # the code would be broken, but without this handling cookstyle would explode key_value = (k.send_type? && k.method?(:manage_home)) ? 'manage_home' : k.value new_text << "#{key_value} #{v.source}" end corrector.replace(property, new_text.join("\n ")) end end end