class RuboCop::Cop::RSpec::VoidExpect

Checks void ‘expect()`.

@example

# bad
expect(something)

# good
expect(something).to be(1)

Constants

MSG
RESTRICT_ON_SEND

Public Instance Methods

on_block(node) click to toggle source
# File lib/rubocop/cop/rspec/void_expect.rb, line 37
def on_block(node) # rubocop:disable InternalAffairs/NumblockHandler
  return unless expect_block?(node)
  return unless inside_example?(node)

  check_expect(node)
end
on_send(node) click to toggle source
# File lib/rubocop/cop/rspec/void_expect.rb, line 30
def on_send(node)
  return unless expect?(node)
  return unless inside_example?(node)

  check_expect(node)
end

Private Instance Methods

check_expect(node) click to toggle source
# File lib/rubocop/cop/rspec/void_expect.rb, line 46
def check_expect(node)
  return unless void?(node)

  add_offense(node)
end
inside_example?(node) click to toggle source
# File lib/rubocop/cop/rspec/void_expect.rb, line 59
def inside_example?(node)
  node.each_ancestor(:block).any? { |ancestor| example?(ancestor) }
end
void?(expect) click to toggle source
# File lib/rubocop/cop/rspec/void_expect.rb, line 52
def void?(expect)
  parent = expect.parent
  return true if parent.begin_type?

  parent.block_type? && parent.body == expect
end