class RuboCop::ConfigObsoletion::ExtractedCop
Encapsulation of a ConfigObsoletion
rule for splitting a cop's functionality into multiple new cops. @api private
Attributes
department[R]
gem[R]
Public Class Methods
new(config, old_name, gem)
click to toggle source
Calls superclass method
RuboCop::ConfigObsoletion::CopRule::new
# 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
Public Instance Methods
rule_message()
click to toggle 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
violated?()
click to toggle source
# File lib/rubocop/config_obsoletion/extracted_cop.rb, line 17 def violated? return false if feature_loaded? affected_cops.any? end
Private Instance Methods
affected_cops()
click to toggle 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
feature_loaded?()
click to toggle source
# File lib/rubocop/config_obsoletion/extracted_cop.rb, line 41 def feature_loaded? config.loaded_features.include?(gem) end