Sha256: 7ab711d5e86676df7e0ddde2b395610f9f11b7f96f709b01ae134e7b1d870c66
Contents?: true
Size: 970 Bytes
Versions: 246
Compression:
Stored size: 970 Bytes
Contents
# frozen_string_literal: true module RuboCop class ConfigObsoletion # Encapsulation of a ConfigObsoletion rule for removing # a previously defined cop. # @api private class RemovedCop < CopRule attr_reader :old_name, :metadata BASE_MESSAGE = 'The `%<old_name>s` cop has been removed' def initialize(config, old_name, metadata) super(config, old_name) @metadata = metadata.is_a?(Hash) ? metadata : {} end def rule_message base = format(BASE_MESSAGE, old_name: old_name) if reason "#{base} since #{reason.chomp}." elsif alternatives "#{base}. Please use #{to_sentence(alternatives, connector: 'and/or')} instead." else "#{base}." end end private def reason metadata['reason'] end def alternatives Array(metadata['alternatives']).map { |name| "`#{name}`" } end end end end
Version data entries
246 entries across 237 versions & 23 rubygems