Class: Realm::EventRouter::Gateway

Inherits:
Object
  • Object
show all
Defined in:
lib/realm/event_router/gateway.rb

Direct Known Subclasses

InternalLoopGateway

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(event_factory:, namespace: :default, runtime: nil) ⇒ Gateway

Returns a new instance of Gateway.



10
11
12
13
14
# File 'lib/realm/event_router/gateway.rb', line 10

def initialize(event_factory:, namespace: :default, runtime: nil, **)
  @namespace = namespace
  @event_factory = event_factory
  @runtime = runtime
end

Class Method Details

.auto_register_on_initObject



6
7
8
# File 'lib/realm/event_router/gateway.rb', line 6

def self.auto_register_on_init
  false
end

Instance Method Details

#add_listener(event_type, listener) ⇒ Object

Raises:

  • (NotImplementedError)


23
24
25
# File 'lib/realm/event_router/gateway.rb', line 23

def add_listener(event_type, listener)
  raise NotImplementedError
end

#cleanupObject



35
36
37
# File 'lib/realm/event_router/gateway.rb', line 35

def cleanup
  # do nothing
end

#queuesObject



39
40
41
# File 'lib/realm/event_router/gateway.rb', line 39

def queues
  []
end

#register(handler_class) ⇒ Object



16
17
18
19
20
21
# File 'lib/realm/event_router/gateway.rb', line 16

def register(handler_class)
  # TODO: validate event_types for existence of matching class
  handler_class.event_types.each do |event_type|
    add_listener(event_type, handler_class.bind_runtime(@runtime))
  end
end

#trigger(event_type, attributes = {}) ⇒ Object

Raises:

  • (NotImplementedError)


27
28
29
# File 'lib/realm/event_router/gateway.rb', line 27

def trigger(event_type, attributes = {})
  raise NotImplementedError
end

#workerObject



31
32
33
# File 'lib/realm/event_router/gateway.rb', line 31

def worker(*)
  nil
end