class Ruboty::Karma::Actions::Increase

Public Instance Methods

call() click to toggle source
# File lib/ruboty/karma/actions/increase.rb, line 5
def call
  name = message[:name]
  add_user(name)
  updated_karma = increment(name)
  reply(name, updated_karma)
end

Private Instance Methods

add_user(name) click to toggle source
# File lib/ruboty/karma/actions/increase.rb, line 19
def add_user(name)
  brain = message.robot.brain
  key = 'karma-list'
  brain.data[key] ||= []
  users = brain.data[key]
  brain.data[key] = users.push(name).uniq
end
increment(name) click to toggle source
# File lib/ruboty/karma/actions/increase.rb, line 27
def increment(name)
  brain = message.robot.brain
  key = "karma-@#{name}"
  brain.data[key] ||= 0
  brain.data[key] += 1
end
reply(name, updated_karma) click to toggle source
# File lib/ruboty/karma/actions/increase.rb, line 14
def reply(name, updated_karma)
  template = ENV['RUBOTY_KARMA_ADD'] || '%s: %d'
  message.reply(format(template, name, updated_karma))
end