Sha256: 13cf69ff5e5cf48bda42726b73ada9dfb799fb131b2845a98e80023fe21045d8
Contents?: true
Size: 1.44 KB
Versions: 2
Compression:
Stored size: 1.44 KB
Contents
# frozen_string_literal: true module RuboCop module Cop module Style # This cop checks for trailing code after the method definition. # # @example # # bad # def some_method # do_stuff; end # # def do_this(x) # baz.map { |b| b.this(x) } end # # def foo # block do # bar # end end # # # good # def some_method # do_stuff # end # # def do_this(x) # baz.map { |b| b.this(x) } # end # # def foo # block do # bar # end # end # class TrailingMethodEndStatement < Base extend AutoCorrector MSG = 'Place the end statement of a multi-line method on ' \ 'its own line.' def on_def(node) return unless trailing_end?(node) add_offense(node.loc.end) do |corrector| corrector.insert_before( node.loc.end, "\n" + ' ' * node.loc.keyword.column ) end end private def trailing_end?(node) node.body && node.multiline? && body_and_end_on_same_line?(node) end def body_and_end_on_same_line?(node) last_child = node.children.last last_child.loc.last_line == node.loc.end.last_line end end end end end
Version data entries
2 entries across 2 versions & 2 rubygems
Version | Path |
---|---|
rubocop-0.88.0 | lib/rubocop/cop/style/trailing_method_end_statement.rb |
rbhint-0.87.1.rc1 | lib/rubocop/cop/style/trailing_method_end_statement.rb |