Class: Maze::Hooks::Hooks
- Inherits:
-
Object
- Object
- Maze::Hooks::Hooks
- Defined in:
- lib/maze/hooks/hooks.rb
Overview
Provides the ability for callbacks to be provided as part of running Cucumber. These are akin to Cucumber’s BeforeAll, Before, After and AfterAll hooks, but are invoked in such a way that Maze Runner’s hooks do not interfere with callbacks registered by clients.
Instance Method Summary collapse
-
#after(&block) ⇒ Object
Register blocks to be called from a Cucumber After hook (before MazeRunner does everything it needs to).
-
#before(&block) ⇒ Object
Register blocks to be called from a Cucumber Before hook (after MazeRunner does everything it needs to).
-
#before_all(&block) ⇒ Object
Register blocks to be called from a Cucumber BeforeAll hook (after MazeRunner does everything it needs to).
-
#call_after(scenario) ⇒ Object
For MazeRunner use only, call the registered After blocks.
-
#call_before(scenario) ⇒ Object
For MazeRunner use only, call the registered Before blocks.
-
#call_before_all ⇒ Object
For MazeRunner use only, call the registered BeforeAll blocks.
-
#initialize ⇒ Hooks
constructor
A new instance of Hooks.
Constructor Details
#initialize ⇒ Hooks
Returns a new instance of Hooks.
9 10 11 12 13 |
# File 'lib/maze/hooks/hooks.rb', line 9 def initialize @before_all = [] @before = [] @after = [] end |
Instance Method Details
#after(&block) ⇒ Object
Register blocks to be called from a Cucumber After hook (before MazeRunner does everything it needs to)
26 27 28 |
# File 'lib/maze/hooks/hooks.rb', line 26 def after(&block) @after << block end |
#before(&block) ⇒ Object
Register blocks to be called from a Cucumber Before hook (after MazeRunner does everything it needs to)
21 22 23 |
# File 'lib/maze/hooks/hooks.rb', line 21 def before(&block) @before << block end |
#before_all(&block) ⇒ Object
Register blocks to be called from a Cucumber BeforeAll hook (after MazeRunner does everything it needs to)
16 17 18 |
# File 'lib/maze/hooks/hooks.rb', line 16 def before_all(&block) @before_all << block end |
#call_after(scenario) ⇒ Object
For MazeRunner use only, call the registered After blocks
43 44 45 |
# File 'lib/maze/hooks/hooks.rb', line 43 def call_after(scenario) @after.each { |block| block.call(scenario) } end |
#call_before(scenario) ⇒ Object
For MazeRunner use only, call the registered Before blocks
37 38 39 |
# File 'lib/maze/hooks/hooks.rb', line 37 def call_before(scenario) @before.each { |block| block.call(scenario) } end |
#call_before_all ⇒ Object
For MazeRunner use only, call the registered BeforeAll blocks
31 32 33 |
# File 'lib/maze/hooks/hooks.rb', line 31 def call_before_all @before_all.each(&:call) end |