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