Sha256: 7409c93c34113e5870b0c85c4a408c0c35d9721a37261fe9cdbc791c546bebc9

Contents?: true

Size: 856 Bytes

Versions: 14

Compression:

Stored size: 856 Bytes

Contents

# encoding: utf-8

require "rango" # for helpers

module Rango
  module UrlHelper
    # url(:login)
    def url(*args)
      raise "Your router or your router adapter doesn't support this method"
    end
  end

  Helpers.send(:include, UrlHelper)

  class Router
    @@routers ||= Hash.new

    def self.router
      @@router
    rescue
      raise "You have to run Rango::Router.use(router_name) first!"
    end

    def self.router=(router)
      @@router = router
    end

    def self.implement(router, &block)
      @@routers[router] = block
    end

    def self.use(router)
      require_relative "router/adapters/#{router}"
      Rango.logger.debug("Using router #{router}")
      @@router = router
    end

    def self.set_rack_env(env)
      unless env["rango.router.params"]
        @@routers[self.router].call(env)
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
rango-0.1.1.2.11 lib/rango/router.rb
rango-0.1.1.2.10 lib/rango/router.rb
rango-0.1.1.2.9 lib/rango/router.rb
rango-0.1.1.2.8 lib/rango/router.rb
rango-0.1.1.2.7 lib/rango/router.rb
rango-0.1.1.2.6 lib/rango/router.rb
rango-0.1.1.2.5 lib/rango/router.rb
rango-0.1.1.2.4 lib/rango/router.rb
rango-0.1.1.2.3 lib/rango/router.rb
rango-0.1.1.2.2 lib/rango/router.rb
rango-0.1.1.2.1 lib/rango/router.rb
rango-0.1.1.2 lib/rango/router.rb
rango-0.1.1.1 lib/rango/router.rb
rango-0.1.1 lib/rango/router.rb