class NxtStateMachine::Transition::Proxy
Attributes
context[R]
event[R]
proxy[R]
state_machine[R]
transition[R]
Public Class Methods
new(event, state_machine, transition, context)
click to toggle source
# File lib/nxt_state_machine/transition/proxy.rb, line 3 def initialize(event, state_machine, transition, context) @event = event @transition = transition @state_machine = state_machine @context = context end
Public Instance Methods
call(&block)
click to toggle source
# File lib/nxt_state_machine/transition/proxy.rb, line 10 def call(&block) proxy = if block.arity == 1 Proc.new do block.call(transition.block) end else block end around_callback_chain(proxy).call end
Private Instance Methods
around_callback_chain(proxy)
click to toggle source
# File lib/nxt_state_machine/transition/proxy.rb, line 24 def around_callback_chain(proxy) @around_callback_chain ||= Transition::AroundCallbackChain.new(transition, context, state_machine).build(proxy) end