class RuboCop::Cop::RSpec::BeforeAfterAll

end
after(:each) { Widget.delete_all }
before(:each) { Widget.create }
describe MyClass do
#
# Slower but examples are properly isolated
#
# good
end
after(:all) { Widget.delete_all }
before(:all) { Widget.create }
describe MyClass do
#
# Faster but risk of state leaking between examples
#
# bad
@example
Check that before/after(:all) isn’t being used.

def on_send(node)

def on_send(node)
  before_or_after_all(node) do |hook|
    add_offense(
      node,
      message: format(MSG, hook: hook.source)
    )
  end
end