class RuboCop::Cop::MessageAnnotator

#=> ‘Cop/CopName: message (example.org/styleguide)’
).annotate(‘message’, ‘Cop/CopName’)
config, cop_config, @options
RuboCop::Cop::MessageAnnotator.new(
@example
@see #initialize
based on params passed into initializer.
Message Annotator class annotates a basic offense message

def annotate(message, name)

Returns:
  • (String) - annotated message
def annotate(message, name)
  message = "#{name}: #{message}" if display_cop_names?
  message += " #{details}" if extra_details?
  if display_style_guide?
    links = [style_guide_url, reference_url].compact.join(', ')
    message = "#{message} (#{links})"
  end
  message
end

def debug?

def debug?
  options[:debug]
end

def details

def details
  details = cop_config && cop_config['Details']
  details.nil? || details.empty? ? nil : details
end

def display_cop_names?

def display_cop_names?
  debug? || options[:display_cop_names] ||
    config.for_all_cops['DisplayCopNames']
end

def display_style_guide?

def display_style_guide?
  (style_guide_url || reference_url) &&
    (options[:display_style_guide] ||
      config.for_all_cops['DisplayStyleGuide'])
end

def extra_details?

def extra_details?
  options[:extra_details] || config.for_all_cops['ExtraDetails']
end

def initialize(config, cop_config, options)

Options Hash: (**option)
  • :display_cop_names (Boolean) --
  • :debug (Boolean) --
  • :extra_details (Boolean) --
  • :display_style_guide (Boolean) --
  • :Details (String) --
  • :Reference (String) -- Full reference URL
  • :StyleGuide (String) -- Extension of base styleguide URL

Parameters:
  • options (Hash) --
  • cop_config (Hash) -- configs for specific cop, from config#for_cop
  • config (RuboCop::Config) -- Check configs for all cops

Other tags:
    Note: - Message Annotator specifically checks the
def initialize(config, cop_config, options)
  @config = config
  @cop_config = cop_config || {}
  @options = options
end

def reference_url

def reference_url
  url = cop_config['Reference']
  url.nil? || url.empty? ? nil : url
end

def style_guide_url

def style_guide_url
  url = cop_config['StyleGuide']
  return nil if url.nil? || url.empty?
  base_url = config.for_all_cops['StyleGuideBaseURL']
  return url if base_url.nil? || base_url.empty?
  URI.join(base_url, url).to_s
end