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)
-
(String)
- annotated message
def annotate(message, name) message = "#{name}: #{message}" if display_cop_names? message += " #{details}" if extra_details? && details if display_style_guide? links = urls.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? return true if debug? return false if options[:display_cop_names] == false return true if options[:display_cop_names] config.for_all_cops['DisplayCopNames'] end
def display_style_guide?
def display_style_guide? (options[:display_style_guide] || config.for_all_cops['DisplayStyleGuide']) && !urls.empty? end
def extra_details?
def extra_details? options[:extra_details] || config.for_all_cops['ExtraDetails'] end
def initialize(config, cop_config, options)
(**options)
-
: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, nil
) -- optional -
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? self.class.style_guide_urls[url] ||= begin base_url = config.for_all_cops['StyleGuideBaseURL'] if base_url.nil? || base_url.empty? url else URI.join(base_url, url).to_s end end end
def urls
def urls [style_guide_url, reference_url].compact end