Class: Ellen::Handlers::Alias

Inherits:
Base
  • Object
show all
Defined in:
lib/ellen/handlers/alias.rb

Constant Summary collapse

NAMESPACE =
"alias"

Instance Method Summary collapse

Instance Method Details

#create(message) ⇒ Object



31
32
33
34
35
36
# 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) ⇒ Object



38
39
40
41
42
43
44
# 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) ⇒ Object



46
47
48
# File 'lib/ellen/handlers/alias.rb', line 46

def list(message)
  message.reply(aliases, code: true)
end

#resolve(message) ⇒ Object



50
51
52
53
54
55
56
57
58
59
# 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