class TGauge::Route
Attributes
action_name[R]
controller_class[R]
http_method[R]
pattern[R]
Public Class Methods
new(pattern, http_method, controller_class, action_name)
click to toggle source
# File lib/db/router.rb, line 5 def initialize(pattern, http_method, controller_class, action_name) @pattern = pattern @http_method = http_method @controller_class = controller_class @action_name = action_name end
Public Instance Methods
matches?(req)
click to toggle source
checks if pattern matches path and method matches request method
# File lib/db/router.rb, line 13 def matches?(req) (@pattern =~ req.path) == 0 && req.request_method.downcase == @http_method.to_s end
run(req, res)
click to toggle source
use pattern to pull out route params (save for later?) instantiate controller and call controller action
# File lib/db/router.rb, line 19 def run(req, res) match_data = @pattern.match(req.path) route_params = {} match_data.names.each do |key| route_params[key] = match_data[key] end controller = controller_class.new(req, res, route_params) controller.invoke_action(@action_name) end