Module: Hey::Behavior

Included in:
Hey
Defined in:
lib/hey.rb

Instance Method Summary collapse

Instance Method Details

#context(**hash) ⇒ Object



36
37
38
39
40
41
42
43
# File 'lib/hey.rb', line 36

def context(**hash)
  _context = Context.new(hash)
  ThreadCargo.add_context(_context)
  yield
ensure
  ThreadCargo.remove_context(_context)
  ThreadCargo.purge! if ThreadCargo.contexts.empty?
end

#publish!(event_name, payload = {}, &block) ⇒ Object



26
27
28
29
30
# File 'lib/hey.rb', line 26

def publish!(event_name, payload = {}, &block)
  event_name = Hey::EventName.new(event_name).to_s
  event = Hey::Pubsub::Event.new(name: event_name, metadata: payload)
  pubsub_adapter.publish!(event, &block)
end

#subscribe!(event_name, &block) ⇒ Object



32
33
34
# File 'lib/hey.rb', line 32

def subscribe!(event_name, &block)
  pubsub_adapter.subscribe!(event_name, &block)
end