Sha256: 6dc70b6616032c7037ba12415d9fb1a327eb552fc01bc3dd6f252fbc68f9d056
Contents?: true
Size: 1.61 KB
Versions: 160
Compression:
Stored size: 1.61 KB
Contents
# frozen_string_literal: true module RuboCop module Cop module Layout # 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 # class MultilineMethodParameterLineBreaks < Base include MultilineElementLineBreaks extend AutoCorrector MSG = 'Each parameter in a multi-line method definition must start on a separate line.' def on_def(node) return if node.arguments.empty? check_line_breaks(node, node.arguments, ignore_last: ignore_last_element?) end private def ignore_last_element? !!cop_config['AllowMultilineFinalElement'] end end end end end
Version data entries
160 entries across 159 versions & 17 rubygems