class RuboCop::Cop::Layout::ConditionPosition

end
do_something
if some_condition
# good
@example
end
do_something
some_condition
if
# bad
@example
if/while/until.
Checks for conditions that are not on the same line as

def check(node)

def check(node)
  return if node.modifier_form? || node.single_line_condition?
  condition = node.condition
  message = message(condition)
  add_offense(condition, message: message) do |corrector|
    range = range_by_whole_lines(condition.source_range, include_final_newline: true)
    corrector.insert_after(condition.parent.loc.keyword, " #{condition.source}")
    corrector.remove(range)
  end
end

def message(condition)

def message(condition)
  format(MSG, keyword: condition.parent.keyword)
end

def on_if(node)

def on_if(node)
  return if node.ternary?
  check(node)
end

def on_while(node)

def on_while(node)
  check(node)
end