class RuboCop::Cop::Layout::BlockEndNewline

}
foo(i)
blah { |i|
# good
foo(i) }
blah { |i|
# bad
end
foo(i)
blah do |i|
# good
foo(i) end
blah do |i|
# bad
@example
is on its own line.
This cop checks whether the end statement of a do..end block

def autocorrect(node)

def autocorrect(node)
  lambda do |corrector|
    indentation = indentation_of_block_start_line(node)
    corrector.insert_before(node.loc.end, "\n" + (' ' * indentation))
  end
end

def indentation_of_block_start_line(node)

def indentation_of_block_start_line(node)
  match = /\S.*/.match(node.loc.begin.source_line)
  match.begin(0)
end

def message(node)

def message(node)
  format(MSG, node.loc.end.line, node.loc.end.column + 1)
end

def on_block(node)

def on_block(node)
  return if node.single_line?
  end_loc = node.loc.end
  # If the end is on its own line, there is no offense
  return if end_loc.source_line =~ /^\s*#{end_loc.source}/
  add_offense(node, end_loc)
end