Method: Emit::Alternation#execute
- Defined in:
- lib/emit/alternation.rb
#execute ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/emit/alternation.rb', line 14 def execute idx, request, channel, operation = choose if @guards[idx] action = @guards[idx].action fail "Failed executing action in alternation." unless [Proc, Method].include?(action.class) case operation when :write then action.() when :read then action.(request.) end end [channel, request.] end |