class RuboCop::Cop::Layout::IndentFirstParameter
This cop checks the indentation of the first parameter in a method definition. Parameters after the first one are checked by Layout/AlignParameters, not by this cop.
For indenting the first argument of method calls, check out Layout/IndentFirstArgument, which supports options related to nesting that are irrelevant for method definitions.
@example
# bad def some_method( first_param, second_param) 123 end
@example EnforcedStyle: consistent (default)
# The first parameter should always be indented one step more than the # preceding line. # good def some_method( first_param, second_param) 123 end
@example EnforcedStyle: align_parentheses
# The first parameter should always be indented one step more than the # opening parenthesis. # good def some_method( first_param, second_param) 123 end
Constants
- MSG
Public Instance Methods
autocorrect(node)
click to toggle source
# File lib/rubocop/cop/layout/indent_first_parameter.rb, line 60 def autocorrect(node) AlignmentCorrector.correct(processed_source, node, @column_delta) end
on_def(node)
click to toggle source
# File lib/rubocop/cop/layout/indent_first_parameter.rb, line 52 def on_def(node) return if node.arguments.empty? return if node.arguments.loc.begin.nil? check(node) end
Also aliased as: on_defs
Private Instance Methods
base_description(_)
click to toggle source
Returns the description of what the correct indentation is based on.
# File lib/rubocop/cop/layout/indent_first_parameter.rb, line 82 def base_description(_) if style == brace_alignment_style 'the position of the opening parenthesis' else 'the start of the line where the left parenthesis is' end end
brace_alignment_style()
click to toggle source
# File lib/rubocop/cop/layout/indent_first_parameter.rb, line 66 def brace_alignment_style :align_parentheses end
check(def_node)
click to toggle source
# File lib/rubocop/cop/layout/indent_first_parameter.rb, line 70 def check(def_node) return if ignored_node?(def_node) left_parenthesis = def_node.arguments.loc.begin first_elem = def_node.arguments.first return unless first_elem return if first_elem.source_range.line == left_parenthesis.line check_first(first_elem, left_parenthesis, nil, 0) end
message(base_description)
click to toggle source
# File lib/rubocop/cop/layout/indent_first_parameter.rb, line 90 def message(base_description) format( MSG, configured_indentation_width: configured_indentation_width, base_description: base_description ) end