Method: Fancybox2::Module::Base#on_action
- Defined in:
- lib/fancybox2/module/base.rb
#on_action(action, callback = nil, &block) ⇒ Object
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/fancybox2/module/base.rb', line 68 def on_action(action, callback = nil, &block) topic = topic_for source: :core, action: action mqtt_client.add_topic_callback topic do |packet| # :nocov: payload = packet.payload # Try to parse payload as JSON. Rescue with original payload in case of error packet.payload = JSON.parse(payload) rescue payload if block_given? block.call packet elsif callback && callback.is_a?(Proc) callback.call packet end # :nocov: end end |