Skip to content
This repository was archived by the owner on Nov 30, 2024. It is now read-only.

Commit a7ca029

Browse files
committed
Reduce the number of args passed to handle_suite_hook.
Passing a block instead is simpler.
1 parent 1079555 commit a7ca029

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

lib/rspec/core/configuration.rb

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1570,8 +1570,9 @@ def apply_derived_metadata_to(metadata)
15701570
# @see #after
15711571
# @see #append_after
15721572
def before(scope=nil, *meta, &block)
1573-
handle_suite_hook(scope, meta, @before_suite_hooks, :push,
1574-
Hooks::BeforeHook, block) || super(scope, *meta, &block)
1573+
handle_suite_hook(scope, meta) do
1574+
@before_suite_hooks << Hooks::BeforeHook.new(block, {})
1575+
end || super(scope, *meta, &block)
15751576
end
15761577
alias_method :append_before, :before
15771578

@@ -1589,8 +1590,9 @@ def before(scope=nil, *meta, &block)
15891590
# @see #after
15901591
# @see #append_after
15911592
def prepend_before(scope=nil, *meta, &block)
1592-
handle_suite_hook(scope, meta, @before_suite_hooks, :unshift,
1593-
Hooks::BeforeHook, block) || super(scope, *meta, &block)
1593+
handle_suite_hook(scope, meta) do
1594+
@before_suite_hooks.unshift Hooks::BeforeHook.new(block, {})
1595+
end || super(scope, *meta, &block)
15941596
end
15951597

15961598
# Defines a `after` hook. See {Hooks#after} for full docs.
@@ -1603,8 +1605,9 @@ def prepend_before(scope=nil, *meta, &block)
16031605
# @see #before
16041606
# @see #prepend_before
16051607
def after(scope=nil, *meta, &block)
1606-
handle_suite_hook(scope, meta, @after_suite_hooks, :unshift,
1607-
Hooks::AfterHook, block) || super(scope, *meta, &block)
1608+
handle_suite_hook(scope, meta) do
1609+
@after_suite_hooks.unshift Hooks::AfterHook.new(block, {})
1610+
end || super(scope, *meta, &block)
16081611
end
16091612
alias_method :prepend_after, :after
16101613

@@ -1622,8 +1625,9 @@ def after(scope=nil, *meta, &block)
16221625
# @see #before
16231626
# @see #prepend_before
16241627
def append_after(scope=nil, *meta, &block)
1625-
handle_suite_hook(scope, meta, @after_suite_hooks, :push,
1626-
Hooks::AfterHook, block) || super(scope, *meta, &block)
1628+
handle_suite_hook(scope, meta) do
1629+
@after_suite_hooks << Hooks::AfterHook.new(block, {})
1630+
end || super(scope, *meta, &block)
16271631
end
16281632

16291633
# @private
@@ -1660,7 +1664,7 @@ def on_example_group_definition_callbacks
16601664

16611665
private
16621666

1663-
def handle_suite_hook(scope, meta, collection, append_or_prepend, hook_type, block)
1667+
def handle_suite_hook(scope, meta)
16641668
return nil unless scope == :suite
16651669

16661670
unless meta.empty?
@@ -1672,7 +1676,7 @@ def handle_suite_hook(scope, meta, collection, append_or_prepend, hook_type, blo
16721676
"The metadata you have provided (#{meta.inspect}) will be ignored."
16731677
end
16741678

1675-
collection.__send__(append_or_prepend, hook_type.new(block, {}))
1679+
yield
16761680
end
16771681

16781682
def run_hooks_with(hooks, hook_context)

0 commit comments

Comments
 (0)