Class: RuboCop::Cop::Style::InlineComment

Inherits:
Base
  • Object
show all
Defined in:
lib/rubocop/cop/style/inline_comment.rb

Overview

Checks for trailing inline comments. Inline comments can make lines harder to read, especially when they are long. Placing comments on their own line above the code they describe is often clearer.

Examples:


# good
foo.each do |f|
  # Standalone comment
  f.bar
end

# bad
foo.each do |f|
  f.bar # Trailing inline comment
end

Constant Summary collapse

MSG =
'Avoid trailing inline comments.'

Constants inherited from Base

Base::RESTRICT_ON_SEND

Instance Attribute Summary

Attributes inherited from Base

#config, #processed_source

Instance Method Summary collapse

Methods inherited from Base

#active_support_extensions_enabled?, #add_global_offense, #add_offense, #always_autocorrect?, autocorrect_incompatible_with, badge, #begin_investigation, #callbacks_needed, callbacks_needed, #config_to_allow_offenses, #config_to_allow_offenses=, #contextual_autocorrect?, #cop_config, cop_name, #cop_name, department, documentation_url, exclude_from_registry, #excluded_file?, #external_dependency_checksum, inherited, #initialize, #inspect, joining_forces, lint?, match?, #message, #offenses, #on_investigation_end, #on_other_file, #parse, #parser_engine, #ready, #relevant_file?, requires_gem, #string_literals_frozen_by_default?, support_autocorrect?, support_multiple_source?, #target_gem_version, #target_rails_version, #target_ruby_version

Methods included from ExcludeLimit

#exclude_limit

Methods included from AutocorrectLogic

#autocorrect?, #autocorrect_enabled?, #autocorrect_requested?, #autocorrect_with_disable_uncorrectable?, #correctable?, #disable_uncorrectable?, #safe_autocorrect?

Methods included from IgnoredNode

#ignore_node, #ignored_node?, #part_of_ignored_node?

Methods included from Util

silence_warnings

Constructor Details

This class inherits a constructor from RuboCop::Cop::Base

Instance Method Details

#on_new_investigationObject



26
27
28
29
30
31
32
33
# File 'lib/rubocop/cop/style/inline_comment.rb', line 26

def on_new_investigation
  processed_source.comments.each do |comment|
    next if comment_line?(processed_source[comment.loc.line - 1]) ||
            comment.text.match?(/\A# rubocop:(enable|disable)/)

    add_offense(comment)
  end
end