class RuboCop::ConfigObsoletion::ExtractedCop

@api private
functionality into multiple new cops.
Encapsulation of a ConfigObsoletion rule for splitting a cop’s

def affected_cops

def affected_cops
  return old_name unless old_name.end_with?('*')
  # Handle whole departments (expressed as `Department/*`)
  config.keys.select do |key|
    key == department || key.start_with?("#{department}/")
  end
end

def feature_loaded?

def feature_loaded?
  config.loaded_features.include?(gem)
end

def initialize(config, old_name, gem)

def initialize(config, old_name, gem)
  super(config, old_name)
  @department, * = old_name.rpartition('/')
  @gem = gem
end

def rule_message

def rule_message
  msg = '%<name>s been extracted to the `%<gem>s` gem.'
  format(msg,
         name: affected_cops.size > 1 ? "`#{department}` cops have" : "`#{old_name}` has",
         gem: gem)
end

def violated?

def violated?
  return false if feature_loaded?
  affected_cops.any?
end