Module: Hey::Pubsub::Adapters::AsnAdapter
- Defined in:
- lib/hey/pubsub/adapters/asn_adapter.rb
Class Method Summary collapse
Class Method Details
.publish!(event_name, payload = {}) ⇒ Object
22 23 24 25 26 27 28 29 30 |
# File 'lib/hey/pubsub/adapters/asn_adapter.rb', line 22 def self.publish!(event_name, payload = {}) if block_given? ActiveSupport::Notifications.instrument(event_name, payload) do yield end else ActiveSupport::Notifications.instrument(event_name, payload) end end |
.subscribe!(event_name) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/hey/pubsub/adapters/asn_adapter.rb', line 5 def self.subscribe!(event_name) if block_given? ActiveSupport::Notifications.subscribe(event_name) do |*args| asn_event = ActiveSupport::Notifications::Event.new(*args) payload = asn_event.payload.dup event = Hey::Pubsub::Event.new(uuid: payload.delete(:uuid), name: asn_event.name, started_at: asn_event.time, ended_at: asn_event.end, metadata: payload) yield(event.to_hash) end end end |