Class: Messaging::MessageRegistry

Inherits:
Object
  • Object
show all
Includes:
Log::Dependency
Defined in:
lib/messaging/message_registry.rb

Defined Under Namespace

Classes: Error

Instance Method Summary collapse

Instance Method Details

#get(message_name) ⇒ Object



17
18
19
20
21
# File 'lib/messaging/message_registry.rb', line 17

def get(message_name)
  message_classes.find do |message_class|
    message_class.message_name == message_name
  end
end

#lengthObject



42
43
44
# File 'lib/messaging/message_registry.rb', line 42

def length
  message_classes.length
end

#message_classesObject



7
8
9
# File 'lib/messaging/message_registry.rb', line 7

def message_classes
  @message_classes ||= []
end

#message_typesObject



11
12
13
14
15
# File 'lib/messaging/message_registry.rb', line 11

def message_types
  message_classes.map do |message_class|
    message_class.message_type
  end
end

#register(message_class) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/messaging/message_registry.rb', line 23

def register(message_class)
  logger.trace { "Registering #{message_class}"}
  if registered?(message_class)
    error_msg = "#{message_class} is already registered"
    logger.error { error_msg }
    raise Error, error_msg
  end

  message_classes << message_class

  logger.debug { "Registered #{message_class}"}

  message_classes
end

#registered?(message_class) ⇒ Boolean

Returns:

  • (Boolean)


38
39
40
# File 'lib/messaging/message_registry.rb', line 38

def registered?(message_class)
  message_classes.include?(message_class)
end