class TestProf::BeforeAll::Configuration

def after(type, *filters, &block)

config.after(:begin, foo: :bar) { ... }

`rollback` operation with optional filters:
Add `after` hook for `begin` or
def after(type, *filters, &block)
  validate_hook_type!(type)
  hooks[type].after << HookEntry.new(block: block, filters: filters) if block
end

def before(type, *filters, &block)

config.before(:rollback, foo: :bar) { ... }

`rollback` operation with optional filters:
Add `before` hook for `begin` or
def before(type, *filters, &block)
  validate_hook_type!(type)
  hooks[type].before << HookEntry.new(block: block, filters: filters) if block
end

def initialize

def initialize
  @hooks = Hash.new { |h, k| h[k] = HooksChain.new(k) }
  @setup_fixtures = false
end

def run_hooks(type, scope = nil, metadata = []) # :nodoc:

:nodoc:
def run_hooks(type, scope = nil, metadata = []) # :nodoc:
  validate_hook_type!(type)
  hooks[type].run(scope, metadata) { yield }
end

def validate_hook_type!(type)

def validate_hook_type!(type)
  return if HOOKS.include?(type)
  raise ArgumentError, "Unknown hook type: #{type}. Valid types: #{HOOKS.join(", ")}"
end