class Ruboty::Handlers::Scorekeeper
Constants
- NAMESPACE
Private Instance Methods
decrement(message)
click to toggle source
# File lib/ruboty/handlers/scorekeeper.rb, line 41 def decrement(message) name = normalize_name(message[:name]) point = scores[name].to_i - 1 scores[name] = point message.reply("decremented #{name} (#{point} pt)") end
delete(message)
click to toggle source
# File lib/ruboty/handlers/scorekeeper.rb, line 64 def delete(message) name = normalize_name(message[:name]) if scores.delete(name) message.reply("deleted a point of #{name}") else message.reply("#{name} is not found") end end
ignore_name_matcher()
click to toggle source
# File lib/ruboty/handlers/scorekeeper.rb, line 81 def ignore_name_matcher /^@|:$/ # IRC, Hipchat, Slack end
increment(message)
click to toggle source
# File lib/ruboty/handlers/scorekeeper.rb, line 34 def increment(message) name = normalize_name(message[:name]) point = scores[name].to_i + 1 scores[name] = point message.reply("incremented #{name} (#{point} pt)") end
normalize_name(name)
click to toggle source
# File lib/ruboty/handlers/scorekeeper.rb, line 77 def normalize_name(name) name.strip.gsub(ignore_name_matcher,"") end
score(message)
click to toggle source
# File lib/ruboty/handlers/scorekeeper.rb, line 48 def score(message) name = normalize_name(message[:name]) point = scores[name] message.reply("#{name} has #{point} points") end
scoreboard(message)
click to toggle source
# File lib/ruboty/handlers/scorekeeper.rb, line 54 def scoreboard(message) message.reply( scores.sort_by{|key, value| -value }.map.with_index(1){|data, index| "#{index} : #{data.first} (#{data.last} pt)" }.join("\n") ) end
scores()
click to toggle source
# File lib/ruboty/handlers/scorekeeper.rb, line 73 def scores robot.brain.data[NAMESPACE] ||= {} end