Sha256: 1ef900484ed21bc005f91ad8ff3a46b62a81557f2be5d0158c76c3fe94b35b67
Contents?: true
Size: 1.13 KB
Versions: 24
Compression:
Stored size: 1.13 KB
Contents
# encoding: utf-8 module RuboCop module Cop module Lint # This cop checks for conditions that are not on the same line as # if/while/until. # # @example # # if # some_condition # do_something # end class ConditionPosition < Cop def on_if(node) return if node.loc.respond_to?(:question) check(node) end def on_while(node) check(node) end def on_until(node) check(node) end private 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) "Place the condition on the same line as `#{keyword}`." end def on_different_line?(keyword_line, cond_line) keyword_line != cond_line end end end end end
Version data entries
24 entries across 24 versions & 2 rubygems