Class: Ruboty::Handlers::HugeKarma
- Inherits:
-
Base
- Object
- Base
- Ruboty::Handlers::HugeKarma
- Defined in:
- lib/ruboty/hugekarma.rb
Constant Summary collapse
- BRAIN_KEY =
'hugekarma'
Instance Method Summary collapse
-
#increment(message) ⇒ Object
on /karma set (?<name>.+) [d万億兆京]$/, name: ‘set_karma’, description: “Set <name>‘s karma to specified value”.
- #list_karma(message) ⇒ Object
- #super_increment(message) ⇒ Object
Instance Method Details
#increment(message) ⇒ Object
on /karma set (?<name>.+) [d万億兆京]$/, name: ‘set_karma’, description: “Set <name>‘s karma to specified value”
15 16 17 18 19 20 21 22 23 |
# File 'lib/ruboty/hugekarma.rb', line 15 def increment() brain = .robot.brain data = brain.data[BRAIN_KEY] || {} data[[:name]] ||= 0 data[[:name]] += 1 brain.data[BRAIN_KEY] = data .reply("Incremented #{[:name]}'s karma (current: #{data[[:name]]})") end |
#list_karma(message) ⇒ Object
37 38 39 40 41 42 43 44 |
# File 'lib/ruboty/hugekarma.rb', line 37 def list_karma() brain = .robot.brain data = brain.data[BRAIN_KEY] || {} sorted = data.sort_by {|name, karma| karma}.reverse reply = sorted.map {|d| "#{d[0]}: #{d[1]}"} .reply(reply.join("\n")) end |
#super_increment(message) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/ruboty/hugekarma.rb', line 25 def super_increment() incr_value = JapaneseNumbers::Parser.parse([:value]) brain = .robot.brain data = brain.data[BRAIN_KEY] || {} data[[:name]] ||= 0 data[[:name]] += incr_value brain.data[BRAIN_KEY] = data .reply("Incremented #{[:name]}'s karma by #{incr_value} (current: #{data[[:name]]})") end |