class Athena::Routing::Router

Included Modules

Defined in:

router.cr

Constructors

Instance Method Summary

Instance methods inherited from module Athena::Routing::Matcher::RequestMatcherInterface

match(request : ART::Request) : Hash(String, String | Nil) match, match?(request : ART::Request) : Hash(String, String | Nil) | Nil match?

Instance methods inherited from module Athena::Routing::RouterInterface

route_collection : ART::RouteCollection route_collection

Instance methods inherited from module Athena::Routing::Generator::Interface

generate(route : String, params : Hash(String, String | Nil) = Hash(String, String | ::Nil).new, reference_type : ART::Generator::ReferenceType = :absolute_path) : String generate

Instance methods inherited from module Athena::Routing::RequestContextAwareInterface

context : ART::RequestContext context, context=(context : ART::RequestContext) context=

Instance methods inherited from module Athena::Routing::Matcher::URLMatcherInterface

match(path : String) : Hash(String, String | Nil) match, match?(path : String) : Hash(String, String | Nil) | Nil match?

Instance methods inherited from module Athena::Routing::RequestContextAwareInterface

context : ART::RequestContext context, context=(context : ART::RequestContext) context=

Constructor Detail

def self.new(route_collection : ART::RouteCollection, default_locale : String | Nil = nil, strict_requirements : Bool = true, context : ART::RequestContext | Nil = nil) #

[View source]

Instance Method Detail

def context : ART::RequestContext #

Returns the request context.


[View source]
def context=(context : ART::RequestContext) #

Sets the request context.


[View source]
def generate(route : String, params : Hash(String, String | Nil) = Hash(String, String | ::Nil).new, reference_type : ART::Generator::ReferenceType = :absolute_path) : String #
Description copied from module Athena::Routing::Generator::Interface

Generates a URL for the provided route, optionally with the provided params and reference_type.


[View source]
def generator : ART::Generator::Interface #

[View source]
def match(path : String) : Hash(String, String | Nil) #
Description copied from module Athena::Routing::Matcher::URLMatcherInterface

Tries to match the provided path to its related route. Returns a hash of the route's defaults and parameters resolved from the path.

Raises an ART::Exception::ResourceNotFound if no route could be matched.

Raises an ART::Exception::MethodNotAllowed if a route exists but not for the current HTTP method.


[View source]
def match(request : ART::Request) : Hash(String, String | Nil) #
Description copied from module Athena::Routing::Matcher::RequestMatcherInterface

Tries to match the provided request to its related route. Returns a hash of the route's defaults and parameters resolved from the request.

Raises an ART::Exception::ResourceNotFound if no route could be matched.

Raises an ART::Exception::MethodNotAllowed if a route exists but not for the request's method.


[View source]
def match?(path : String) : Hash(String, String | Nil) | Nil #
Description copied from module Athena::Routing::Matcher::URLMatcherInterface

Tries to match the provided path to its related route. Returns a hash of the route's defaults and parameters resolved from the path.

Returns nil if no route could be matched or a route exists but not for the current HTTP method.


[View source]
def match?(request : ART::Request) : Hash(String, String | Nil) | Nil #
Description copied from module Athena::Routing::Matcher::RequestMatcherInterface

Tries to match the provided request to its related route. Returns a hash of the route's defaults and parameters resolved from the request.

Returns nil if no route could be matched or a route exists but not for the request's method.


[View source]

[View source]
def route_collection : ART::RouteCollection #

:inherit:


[View source]