struct Athena::Routing::Action(Controller, ActionType, ReturnType, ArgTypeTuple, ArgumentsType)

Overview

Represents an endpoint within the application.

Includes metadata about the endpoint, such as its controller, arguments, return type, and the action that should be executed.

Defined in:

action.cr

Constructors

Instance Method Summary

Instance methods inherited from struct Athena::Routing::ActionBase

initialize initialize

Constructor methods inherited from struct Athena::Routing::ActionBase

new new

Constructor Detail

def self.new(action : ActionType, name : String, method : String, path : String, constraints : Hash(String, Regex), arguments : ArgumentsType, param_converters : Array(ART::ParamConverterInterface::ConfigurationInterface), view_context : ART::Action::ViewContext, annotation_configurations : ACF::AnnotationConfigurations, params : Array(ART::Params::ParamInterface), _controller : Controller.class, _return_type : ReturnType.class, _arg_types : ArgTypeTuple.class) #

[View source]

Instance Method Detail

def annotation_configurations : ACF::AnnotationConfigurations #

Returns annotation configurations registered via Athena::Config.configuration_annotation and applied to self.

These configurations could then be accessed within ART::ParamConverterInterfaces and/or ART::Listenerss. See ART::Events::RequestAware for an example.


[View source]
def arguments : ArgumentsType #

Returns an Array(ART::Arguments::ArgumentMetadata) that self requires.


[View source]
def constraints : Hash(String, Regex) #

Returns any routing constraints related to self.


[View source]
def controller : Controller.class #

The ART::Controller that includes self.


[View source]
def execute(arguments : Array) : ReturnType #

Executes the action related to self with the provided arguments array.


[View source]
def method : String #

Returns the HTTP method associated with self.


[View source]
def name : String #

Returns the name of the the controller action related to self.


[View source]

Returns an Array(ART::ParamConverterInterface::ConfigurationInterface) representing the ART::ParamConverters applied to self.


[View source]
def params : Array(ART::Params::ParamInterface) #

[View source]
def path : String #

Returns the URL path related to self.


[View source]
def return_type : ReturnType.class #

The type that self's route should return.


[View source]
def view_context : ART::Action::ViewContext #

Returns the ART::Action::ViewContext related to self.


[View source]