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