class Lita::Handlers::OnewheelKarma

Public Instance Methods

add_arbitrary_karma(response) click to toggle source
# File lib/lita/handlers/onewheel_karma.rb, line 35
def add_arbitrary_karma(response)
  karma_object = get_karma_object(response)
  increment_value = response.matches[0][1].to_i
  karma = find_and_set_karma(karma_object, increment_value)
  response.reply reply_with_karma(karma_object, karma)
end
add_one_karma(response) click to toggle source
# File lib/lita/handlers/onewheel_karma.rb, line 19
def add_one_karma(response)
  karma_object = get_karma_object(response)
  karma = find_and_set_karma(karma_object)
  response.reply reply_with_karma(karma_object, karma)
end
display_karma(response) click to toggle source
# File lib/lita/handlers/onewheel_karma.rb, line 56
def display_karma(response)
  karma_object = get_karma_object(response)
  karma = find_karma karma_object
  response.reply reply_with_karma(karma_object, karma)
end
find_and_set_karma(karma_object, increment_value = 1, multiply = false) click to toggle source

Find the karma object from redis and increment appropriately.

# File lib/lita/handlers/onewheel_karma.rb, line 69
def find_and_set_karma(karma_object, increment_value = 1, multiply = false)
  karma = find_karma(karma_object)

  if multiply
    karma *= increment_value.to_i
  else
    karma += increment_value
  end

  redis.set(karma_object, karma)
  karma
end
find_karma(karma_object) click to toggle source
# File lib/lita/handlers/onewheel_karma.rb, line 82
def find_karma(karma_object)
  redis.get(karma_object).to_i
end
get_karma_object(response) click to toggle source
# File lib/lita/handlers/onewheel_karma.rb, line 25
def get_karma_object(response)
  response.matches[0][0].sub /^@/, ''
end
list_karma(response) click to toggle source
# File lib/lita/handlers/onewheel_karma.rb, line 86
def list_karma(response)
  redis.getall.each do |k|
    response.reply k
  end
end
multiply_karma(response) click to toggle source
# File lib/lita/handlers/onewheel_karma.rb, line 49
def multiply_karma(response)
  karma_object = get_karma_object(response)
  multiplier = response.matches[0][1]
  karma = find_and_set_karma(karma_object, multiplier, true)
  response.reply reply_with_karma(karma_object, karma)
end
remove_arbitrary_karma(response) click to toggle source
# File lib/lita/handlers/onewheel_karma.rb, line 42
def remove_arbitrary_karma(response)
  karma_object = get_karma_object(response)
  increment_value = response.matches[0][1].to_i * -1  # -= means we negate the increment_value.  - -9 = + 9
  karma = find_and_set_karma(karma_object, increment_value)
  response.reply reply_with_karma(karma_object, karma)
end
remove_one_karma(response) click to toggle source
# File lib/lita/handlers/onewheel_karma.rb, line 29
def remove_one_karma(response)
  karma_object = get_karma_object(response)
  karma = find_and_set_karma(karma_object, -1)
  response.reply reply_with_karma(karma_object, karma)
end
reply_with_karma(karma_object, karma) click to toggle source

Helpers

# File lib/lita/handlers/onewheel_karma.rb, line 64
def reply_with_karma(karma_object, karma)
    "#{karma_object} has #{karma} karma!"
end