class RuboCop::Cop::Chef::Deprecations::DeprecatedYumRepositoryProperties

With the release of Chef Infra Client 12.14 and the yum cookbook 3.0 several properties in the `yum_repository` resource were renamed. `url` -> `baseurl`, `keyurl` -> `gpgkey`, and `mirrorexpire` -> `mirror_expire`.

@example

#### incorrect
yum_repository 'OurCo' do
  description 'OurCo yum repository'
  url 'http://artifacts.ourco.org/foo/bar'
  keyurl 'http://artifacts.ourco.org/pub/yum/RPM-GPG-KEY-OURCO-6'
  mirrorexpire 1440
  action :create
end

#### correct
yum_repository 'OurCo' do
  description 'OurCo yum repository'
  baseurl 'http://artifacts.ourco.org/foo/bar'
  gpgkey 'http://artifacts.ourco.org/pub/yum/RPM-GPG-KEY-OURCO-6'
  mirror_expire 1440
  action :create
end

Constants

MSG

Public Instance Methods

on_block(node) click to toggle source
# File lib/rubocop/cop/chef/deprecation/deprecated_yum_repository_properties.rb, line 53
def on_block(node)
  %w(url keyurl mirrorexpire).each do |prop|
    match_property_in_resource?(:yum_repository, prop, node) do |prop_node|
      add_offense(prop_node, message: MSG, severity: :warning)  do |corrector|
        corrector.replace(prop_node, prop_node.source
          .gsub(/^url/, 'baseurl')
          .gsub(/^keyurl/, 'gpgkey')
          .gsub(/^mirrorexpire/, 'mirror_expire'))
      end
    end
  end
end