Sha256: f3dadb7cbfabb856b38d6bc0ae218de99b53d88dc4b0d754e76075a1dd941e78

Contents?: true

Size: 680 Bytes

Versions: 3

Compression:

Stored size: 680 Bytes

Contents

# encoding: utf-8

module Rubocop
  module Cop
    # Some common code shared between FavorUnlessOverNegatedIf and
    # FavorUntilOverNegatedWhile.
    module NegativeConditional
      def check(node)
        condition, _body, _rest = *node

        # Look at last expression of contents if there's a parenthesis
        # around condition.
        condition = condition.children.last while condition.type == :begin

        if condition.type == :send
          _object, method = *condition
          if method == :! && !(node.loc.respond_to?(:else) && node.loc.else)
            add_offence(node, :expression, error_message)
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rubocop-0.18.1 lib/rubocop/cop/mixin/negative_conditional.rb
rubocop-0.18.0 lib/rubocop/cop/mixin/negative_conditional.rb
rubocop-0.17.0 lib/rubocop/cop/mixin/negative_conditional.rb