class Moneypenny::Moneypenny

Attributes

connection[RW]
logger[RW]

Public Class Methods

new(connection, logger) click to toggle source
# File lib/moneypenny/moneypenny.rb, line 5
def initialize(connection, logger)
  @connection = connection
  @logger     = logger
end

Public Instance Methods

hear(message) click to toggle source
# File lib/moneypenny/moneypenny.rb, line 21
def hear(message)
  logger.debug "Heard: #{message}"
  if message.match(/\A(mp|moneypenny)/i)
    message.gsub! /\A(mp|moneypenny)(\,|)/i, ''
    message.strip!
    responded = false
    Responders.constants.each do |responder|
      response = eval("Responders::#{responder}").respond message
      if response
        say response
        responded = true
      end
    end
    unless responded
      say "Sorry, I do not know how to respond to that."
    end
  end
end
listen!() click to toggle source
# File lib/moneypenny/moneypenny.rb, line 10
def listen!
  @connection.listen do |message|
    hear message
  end
end
say(message) click to toggle source
# File lib/moneypenny/moneypenny.rb, line 16
def say(message)
  @connection.say message
  logger.debug "Said:  #{message}"
end