class RuboCop::Cop::Lint::ConditionPosition
end
do_something
some_condition
if
@example
if/while/until.
This cop checks for conditions that are not on the same line as
def check(node)
def check(node) return if !node.loc.keyword.is?('elsif') && node.loc.end.nil? condition, = *node return unless on_different_line?(node.loc.keyword.line, condition.loc.expression.line) add_offense(condition, :expression, message(node.loc.keyword.source)) end
def message(keyword)
def message(keyword) "Place the condition on the same line as `#{keyword}`." end
def on_different_line?(keyword_line, cond_line)
def on_different_line?(keyword_line, cond_line) keyword_line != cond_line end
def on_if(node)
def on_if(node) return if node.loc.respond_to?(:question) check(node) end
def on_until(node)
def on_until(node) check(node) end
def on_while(node)
def on_while(node) check(node) end