Class: Wamp::Manager::Event::Registered
- Defined in:
- lib/wamp/manager/event/registered.rb
Overview
Registered Message Event
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
- #add_event_listener(handler) ⇒ Object
-
#listen_event_name ⇒ Object
Adding listener for invocation message.
- #yield_method(invocation) ⇒ Object
Methods inherited from Base
#emit_event, #emit_event_name, #error?, #initialize, #transmit
Constructor Details
This class inherits a constructor from Wamp::Manager::Event::Base
Instance Method Details
#add_event_listener(handler) ⇒ Object
15 16 17 18 19 20 21 22 23 |
# File 'lib/wamp/manager/event/registered.rb', line 15 def add_event_listener(handler) session.on(listen_event_name) do |invocation| details = {} details = { details: yield_method(invocation) } if invocation.details["receive_progress"] result = handler.call(*invocation.args, **invocation.kwargs, **details) = Message::Yield.new(invocation.request_id, {}, result) session.transmit(.payload) end end |
#listen_event_name ⇒ Object
Adding listener for invocation message
11 12 13 |
# File 'lib/wamp/manager/event/registered.rb', line 11 def listen_event_name "registration_#{registration_id}" end |
#yield_method(invocation) ⇒ Object
25 26 27 28 29 30 31 32 33 |
# File 'lib/wamp/manager/event/registered.rb', line 25 def yield_method(invocation) klass = Struct.new(:invocation, :session) do def progress(*args, **kwargs) = Message::Yield.new(invocation.request_id, { progress: true }, *args, **kwargs) session.transmit(.payload) end end klass.new(invocation, session) end |