class Sinbotra::Bot

Public Class Methods

add_handler(provider, handler) click to toggle source
# File lib/sinbotra/bot.rb, line 21
def add_handler(provider, handler)
  @handlers ||= {}
  @handlers[provider.to_sym] = handler
end
handle(provider, entry) click to toggle source
# File lib/sinbotra/bot.rb, line 12
def handle(provider, entry)
  Sinbotra::Config.logger.debug("ENTRY DEBUG:\n" + entry.inspect) if ENV["DEBUG"]
  if ENV["SINBOTRA_SYNCHRONOUS"]
    new.perform(provider, entry)
  else
    perform_async(provider, entry)
  end
end
handle_action(action_name, provider, handler, opts={}) click to toggle source
# File lib/sinbotra/bot.rb, line 34
def handle_action(action_name, provider, handler, opts={})
  handler.handle_action(action_name, opts)
end
receive(provider, msg) click to toggle source
# File lib/sinbotra/bot.rb, line 26
def receive(provider, msg)
  handler = @handlers[provider.to_sym]
  Sinbotra::Config.logger.debug("MESSAGE DEBUG:\n" + msg.inspect) if ENV["DEBUG"]
  user = Sinbotra::User.from_message(msg)
  bot = handler.new(user)
  bot.handle_message(msg)
end

Public Instance Methods

perform(provider, msgs) click to toggle source
# File lib/sinbotra/bot.rb, line 41
def perform(provider, msgs)
  msgs.each do |msg|
    Sinbotra::Bot.receive(provider, msg)
  end
end