class RuboCop::ConfigObsoletion::ExtractedCop
Encapsulation of a ConfigObsoletion
rule for splitting a cop’s functionality into multiple new cops. @api private
Attributes
Public Class Methods
Source
# File lib/rubocop/config_obsoletion/extracted_cop.rb, line 11 def initialize(config, old_name, gem) super(config, old_name) @department, * = old_name.rpartition('/') @gem = gem end
Calls superclass method
RuboCop::ConfigObsoletion::CopRule::new
Public Instance Methods
Source
# File lib/rubocop/config_obsoletion/extracted_cop.rb, line 23 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
Source
# File lib/rubocop/config_obsoletion/extracted_cop.rb, line 17 def violated? return false if plugin_loaded? affected_cops.any? end
Private Instance Methods
Source
# File lib/rubocop/config_obsoletion/extracted_cop.rb, line 32 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
Source
# File lib/rubocop/config_obsoletion/extracted_cop.rb, line 41 def plugin_loaded? # Plugins loaded via `require` are included in `loaded_features`. config.loaded_plugins.include?(gem) || config.loaded_features.include?(gem) end