Sha256: 442e8479a6781facaed914928a6f1c01928812646f96091df24de64a279a7268

Contents?: true

Size: 548 Bytes

Versions: 1

Compression:

Stored size: 548 Bytes

Contents

class Bot::MessageHandler
  def handle(messages)
    messages.flat_map { |m| handle_message(m) }
  end

  def execute_chain(message, responses, user)
    responders.each do |responder|
      responder = responder.new(message, user, responses, self)
      if responder.can_respond_to_type?(message['type']) && responder.respond_to?
        responses << responder.handle
        break
      end
    end
    responses
  end

protected

  def handle_message(message)
    execute_chain(message, [], nil).flatten
  end

  def responders
    []
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
bot-0.0.1 lib/bot/message_handler.rb