module Disel::Router

Constants

ROUTES

Public Class Methods

included(mod) click to toggle source
# File lib/disel_router.rb, line 18
def self.included(mod)
  mod.module_eval do |m|

    def m.route(http_verb, *args, controller_method)
      routes = ROUTES[self]
      if routes.nil?
        ROUTES[self] = []
        routes = ROUTES[self]
      end
      routes << Route.new(http_verb, args, controller_method)
    end

    def m.included(controller)
      routes = ROUTES[self]
      routes.each do |route|
        controller.send(route.verb, *route.args) do |*args|
          self.send(route.method, *args)
        end
      end
    end

  end
end