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