class Ruboty::Handlers::HugeKarma

Constants

BRAIN_KEY

Public Instance Methods

increment(message) click to toggle source
# File lib/ruboty/hugekarma.rb, line 30
def increment(message)
  brain = message.robot.brain
  data = brain.data[BRAIN_KEY] || {}
  data[message[:name]] ||= 0
  data[message[:name]] += 1
  brain.data[BRAIN_KEY] = data

  message.reply("Incremented #{message[:name]}'s karma (current: #{data[message[:name]]})")
end
list_karma(message) click to toggle source
# File lib/ruboty/hugekarma.rb, line 52
def list_karma(message)
  brain = message.robot.brain
  data = brain.data[BRAIN_KEY] || {}
  sorted = data.sort_by {|name, karma| karma}.reverse

  reply = sorted.map {|d| "#{d[0]}: #{d[1]}"}
  message.reply(reply.join("\n"))
end
super_increment(message) click to toggle source
# File lib/ruboty/hugekarma.rb, line 40
def super_increment(message)
  incr_value = JapaneseNumbers::Parser.parse(message[:value])

  brain = message.robot.brain
  data = brain.data[BRAIN_KEY] || {}
  data[message[:name]] ||= 0
  data[message[:name]] += incr_value
  brain.data[BRAIN_KEY] = data

  message.reply("Incremented #{message[:name]}'s karma by #{incr_value} (current: #{data[message[:name]]})")
end