Class: Committee::Router

Inherits:
Object
  • Object
show all
Defined in:
lib/committee/router.rb

Instance Method Summary collapse

Constructor Details

#initialize(schema) ⇒ Router

Returns a new instance of Router.



3
4
5
# File 'lib/committee/router.rb', line 3

def initialize(schema)
  @routes = build_routes(schema)
end

Instance Method Details

#routes?(method, path, options = {}) ⇒ Boolean

Returns:

  • (Boolean)


7
8
9
10
11
12
13
14
15
16
17
# File 'lib/committee/router.rb', line 7

def routes?(method, path, options = {})
  path = path.gsub(/^#{options[:prefix]}/, "") if options[:prefix]
  if method_routes = @routes[method]
    method_routes.each do |pattern, link|
      if path =~ pattern
        return link
      end
    end
  end
  nil
end

#routes_request?(request, options = {}) ⇒ Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/committee/router.rb', line 19

def routes_request?(request, options = {})
  routes?(request.request_method, request.path_info, options)
end