push
0 of 1 new or added line in 1 file covered. (0.0%)
1529 existing lines in 63 files now uncovered.7 of 1711 relevant lines covered (0.41%)
0.0 hits per line
|
UNCOV
1
|
module DispatchRider |
× |
|
UNCOV
2
|
module Callbacks |
× |
| 3 |
# Provides access for invoking callbacks.
|
|
|
UNCOV
4
|
class Access |
× |
|
UNCOV
5
|
attr_reader :callbacks
|
× |
| 6 |
|
|
|
UNCOV
7
|
def initialize(callbacks) |
× |
|
UNCOV
8
|
@callbacks = callbacks
|
× |
|
UNCOV
9
|
end
|
× |
| 10 |
|
|
| 11 |
# Executes the passed block wrapped in the event's callbacks.
|
|
| 12 |
# @param [Symbol] event
|
|
| 13 |
# @param [Array] args
|
|
| 14 |
# @param [Proc] block
|
|
|
UNCOV
15
|
def invoke(event, *args, &block) |
× |
|
UNCOV
16
|
stack_of_callbacks = callbacks.for(event).reverse |
× |
| 17 |
|
|
|
UNCOV
18
|
block_with_callbacks = stack_of_callbacks.reduce(block) { |inner_block, outer_block|
|
× |
|
UNCOV
19
|
-> { outer_block.call(inner_block, *args) }
|
× |
|
UNCOV
20
|
} |
× |
| 21 |
|
|
|
UNCOV
22
|
block_with_callbacks.call |
× |
|
UNCOV
23
|
end
|
× |
|
UNCOV
24
|
end
|
× |
|
UNCOV
25
|
end
|
× |
|
UNCOV
26
|
end
|
× |