class RuboCop::Cop::Layout::EmptyLinesAroundMethodBody

end
# …
def bar
# bad
end
# …
def foo
# good
@example
Checks if empty lines exist around the bodies of methods.

def offending_endless_method?(node)

def offending_endless_method?(node)
  node.body.first_line > node.loc.assignment.line + 1 &&
    processed_source.lines[node.loc.assignment.line].empty?
end

def on_def(node)

def on_def(node)
  if node.endless?
    return unless offending_endless_method?(node)
    register_offense_for_endless_method(node)
  else
    first_line = node.arguments.source_range&.last_line
    check(node, node.body, adjusted_first_line: first_line)
  end
end

def register_offense_for_endless_method(node)

def register_offense_for_endless_method(node)
  range = processed_source.buffer.line_range(node.loc.assignment.line + 1).resize(1)
  msg = message(MSG_EXTRA, 'beginning')
  add_offense(range, message: msg) do |corrector|
    corrector.remove(range)
  end
end

def style

def style
  :no_empty_lines
end