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