class Ruboty::Handlers::ScopedAlias
Constants
- NAMESPACE
Public Instance Methods
create(message)
click to toggle source
# File lib/ruboty/handlers/scoped_alias.rb, line 31 def create(message) scope = message.from from = message[:original] to = message[:alias] table[scope] ||= {} table[scope][from] = to message.reply("Registered alias: #{from} -> #{to}") end
delete(message)
click to toggle source
# File lib/ruboty/handlers/scoped_alias.rb, line 40 def delete(message) scope = message.from table[scope] ||= {} if table[scope].delete(message[:alias]) message.reply("Deleted") else message.reply("Not found") end end
list(message)
click to toggle source
# File lib/ruboty/handlers/scoped_alias.rb, line 50 def list(message) message.reply(aliases(message.from), code: true) end
resolve(message)
click to toggle source
# File lib/ruboty/handlers/scoped_alias.rb, line 54 def resolve(message) scope = message.from table[scope] ||= {} from = message.body.gsub(prefix, "") if aliased = table[scope][from] robot.receive( message.original.merge( body: "#{message.body[prefix]}#{aliased}" ) ) true else false end end
Private Instance Methods
aliases(scope)
click to toggle source
# File lib/ruboty/handlers/scoped_alias.rb, line 76 def aliases(scope) scoped_table = table[scope] || {} if scoped_table.empty? "No alias registered" else scoped_table.map {|from, to| "#{from} -> #{to}" }.join("\n") end end
prefix()
click to toggle source
# File lib/ruboty/handlers/scoped_alias.rb, line 85 def prefix Ruboty::Action.prefix_pattern(robot.name) end
table()
click to toggle source
# File lib/ruboty/handlers/scoped_alias.rb, line 72 def table robot.brain.data[NAMESPACE] ||= {} end