class RuboCop::Cop::Layout::MultilineMethodParameterLineBreaks

Ensures that each parameter in a multi-line method definition starts on a separate line.

NOTE: This cop does not move the first argument, if you want that to be on a separate line, see ‘Layout/FirstMethodParameterLineBreak`.

@example

# bad
def foo(a, b,
  c
)
end

# good
def foo(
  a,
  b,
  c
)
end

# good
def foo(
  a,
  b = {
    foo: "bar",
  }
)
end

# good
def foo(a, b, c)
end

@example AllowMultilineFinalElement: false (default)

# bad
def foo(a, b = {
  foo: "bar",
})
end

@example AllowMultilineFinalElement: true

# good
def foo(a, b = {
  foo: "bar",
})
end

Constants

MSG

Public Instance Methods

on_def(node) click to toggle source
# File lib/rubocop/cop/layout/multiline_method_parameter_line_breaks.rb, line 63
def on_def(node)
  return if node.arguments.empty?

  check_line_breaks(node, node.arguments, ignore_last: ignore_last_element?)
end

Private Instance Methods

ignore_last_element?() click to toggle source
# File lib/rubocop/cop/layout/multiline_method_parameter_line_breaks.rb, line 71
def ignore_last_element?
  !!cop_config['AllowMultilineFinalElement']
end