class Ruboty::Handlers::Replace

Constants

BRAIN_NAMESPACE

Public Instance Methods

delete(message) click to toggle source
# File lib/ruboty/handlers/replace.rb, line 40
def delete(message)
  if store.delete(message[:pattern])
    message.reply("Deleted")
  else
    message.reply("Not found")
  end
end
delete_all_patterns(message) click to toggle source
# File lib/ruboty/handlers/replace.rb, line 48
def delete_all_patterns(message)
  store.clear
  message.reply("Deleted all patterns")
end
list(message) click to toggle source
# File lib/ruboty/handlers/replace.rb, line 53
def list(message)
  message.reply(patterns_in_string, code: true)
end
register(message) click to toggle source
# File lib/ruboty/handlers/replace.rb, line 57
def register(message)
  store[message[:pattern]] = message[:template]
  message.reply("Registered")
end
replace(message) click to toggle source
# File lib/ruboty/handlers/replace.rb, line 62
def replace(message)
  store.each do |pattern, template|
    begin
      message.body.gsub!(Regexp.new(pattern), template)
    rescue => e
      Ruboty.logger.debug("#{e.class}: #{e}")
    end
  end
  false
end

Private Instance Methods

patterns_in_string() click to toggle source
# File lib/ruboty/handlers/replace.rb, line 75
def patterns_in_string
  if store.empty?
    "No pattern registered"
  else
    store.map do |pattern, template|
      "#{pattern} -> #{template}"
    end.join("\n")
  end
end
store() click to toggle source
# File lib/ruboty/handlers/replace.rb, line 85
def store
  robot.brain.data[BRAIN_NAMESPACE] ||= {}
end