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