class Ellen::Handlers::Alias
Constants
- NAMESPACE
Public Instance Methods
create(message)
click to toggle source
# File lib/ellen/handlers/alias.rb, line 31 def create(message) from = message[:from] to = message[:to] table[from] = to message.reply("Registered alias: #{from} -> #{to}") end
delete(message)
click to toggle source
# File lib/ellen/handlers/alias.rb, line 38 def delete(message) if table.delete(message[:from]) message.reply("Deleted") else message.reply("Not found") end end
list(message)
click to toggle source
# File lib/ellen/handlers/alias.rb, line 46 def list(message) message.reply(aliases, code: true) end
resolve(message)
click to toggle source
# File lib/ellen/handlers/alias.rb, line 50 def resolve(message) from = message.body.gsub(prefix, "") if aliased = table[from] robot.receive( message.original.merge( body: "#{message.body[prefix]}#{aliased}" ) ) end end
Private Instance Methods
aliases()
click to toggle source
# File lib/ellen/handlers/alias.rb, line 67 def aliases if table.empty? "No alias registered" else table.map {|from, to| "%-#{max_from_length}s -> #{to}" % from }.join("\n") end end
max_from_length()
click to toggle source
# File lib/ellen/handlers/alias.rb, line 75 def max_from_length table.keys.map(&:length).max end
prefix()
click to toggle source
# File lib/ellen/handlers/alias.rb, line 79 def prefix Ellen::Action.prefix_pattern(robot.name) end
table()
click to toggle source
# File lib/ellen/handlers/alias.rb, line 63 def table robot.brain.data[NAMESPACE] ||= {} end