class MessageDispatcher

Attributes

message_classes[R]

Public Class Methods

new() click to toggle source
# File lib/test_driven_lighting/message_dispatcher.rb, line 3
def initialize
  # message_classes contains "class_name" => ClassName
  @message_classes = {}
end

Public Instance Methods

class_for(class_name) click to toggle source
# File lib/test_driven_lighting/message_dispatcher.rb, line 19
def class_for(class_name)
  message_classes.fetch class_name
end
dispatch(outgoing_message) click to toggle source
# File lib/test_driven_lighting/message_dispatcher.rb, line 14
def dispatch(outgoing_message)
  klass = class_for outgoing_message.fetch("message_type")
  klass.new(outgoing_message).process
end
register_message_class(name, klass) click to toggle source
# File lib/test_driven_lighting/message_dispatcher.rb, line 8
def register_message_class(name, klass)
  # screw trying to upcase and snake case and pretend to be rails WE'RE NOT
  # RAILS SO STOP TRYING
  message_classes[name] = klass
end