On 10/14/2015 05:21 PM, Yanick Champoux wrote:
On 2015-10-14 10:38 AM, Stefan Hornburg (Racke) wrote:
I have a question about the add_route functionality, how can I access to the DSL keywords? eg. param('param_name') when I'm defining the code for a new route?
The first parameter for the route sub is an $app object, so you can do for example:
Yup. The 'app' object is the way to go. As Racke mentioned, it's passed to the coderef, and it's also available as an attribute of the plugin object:
sub BUILD { my $plugin = shift;
$plugin->app->add_route( method => 'get', regexp => '/goodbye', code => sub { 'farewell ' . $plugin->app->request->params->{name}; # or my $app = shift; 'farewell ' . $app->request->params->{name}; }, );
}
`/.
Yanick, would you mind to enhance the POD with this example? The second variant is more straight forward in my opinion (getting $app from subroute parameters instead of using closure variable). Regards Racke -- Perl and Dancer Development Visit our Perl::Dancer conference 2015. More information on https://www.perl.dance.