Class: RuboCop::Cop::Layout::IndentationConsistency

Inherits:
Base
  • Object
show all
Extended by:
AutoCorrector
Includes:
Alignment, ConfigurableEnforcedStyle
Defined in:
lib/rubocop/cop/layout/indentation_consistency.rb

Overview

Checks for inconsistent indentation.

The difference between ‘indented_internal_methods` and `normal` is that the `indented_internal_methods` style prescribes that in classes and modules the `protected` and `private` modifier keywords shall be indented the same as public methods and that protected and private members shall be indented one step more than the modifiers. Other than that, both styles mean that entities on the same logical depth shall have the same indentation.

Examples:

EnforcedStyle: normal (default)

# bad class A def test puts 'hello' puts 'world' end end # bad class A def test puts 'hello' puts 'world' end protected def foo end private def bar end end # good class A def test puts 'hello' puts 'world' end end # good class A def test puts 'hello' puts 'world' end protected def foo end private def bar end end

EnforcedStyle: indented_internal_methods

# bad class A def test puts 'hello' puts 'world' end end # bad class A def test puts 'hello' puts 'world' end protected def foo end private def bar end end # good class A def test puts 'hello' puts 'world' end end # good class A def test puts 'hello' puts 'world' end protected def foo end private def bar end end

Constant Summary collapse

MSG =
'Inconsistent indentation detected.'

Constants included from Alignment

Alignment::SPACE

Constants inherited from Base

Base::RESTRICT_ON_SEND

Instance Attribute Summary

Attributes inherited from Base

#config, #processed_source

Instance Method Summary collapse

Methods included from AutoCorrector

support_autocorrect?

Methods included from ConfigurableEnforcedStyle

#alternative_style, #alternative_styles, #ambiguous_style_detected, #correct_style_detected, #detected_style, #detected_style=, #no_acceptable_style!, #no_acceptable_style?, #opposite_style_detected, #style, #style_configured?, #style_detected, #style_parameter_name, #supported_styles, #unexpected_style_detected

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_new_investigation, #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_begin(node) ⇒ Object

 128 129 130
# File 'lib/rubocop/cop/layout/indentation_consistency.rb', line 128 def on_begin(node) check(node) end

#on_kwbegin(node) ⇒ Object

 132 133 134
# File 'lib/rubocop/cop/layout/indentation_consistency.rb', line 132 def on_kwbegin(node) check(node) end