class Del::DefaultRouter

This class is the default router used to route chat messages to chat routes.

Public Class Methods

new(routes = []) click to toggle source
# File lib/del/default_router.rb, line 7
def initialize(routes = [])
  @routes = routes
end

Public Instance Methods

register(pattern, &block) click to toggle source
# File lib/del/default_router.rb, line 11
def register(pattern, &block)
  @routes.push(pattern: pattern, command: block)
end
route(message) click to toggle source
# File lib/del/default_router.rb, line 15
def route(message)
  @routes.each do |route|
    next unless (matches = route[:pattern].match(message.text))

    begin
      route[:command].call(message, matches)
    rescue StandardError => error
      Del.logger.error(error)
    end
  end
end