I'm a new Dancer user, but I'm loving it so far. In 4 days I was able to learn dancer, create plugins for accessing our existing APIs, session management and authentication, and port a relatively complex application. Dancer is elegantly simple. Thanks for a great architecture. Now for my question:
{
PARAM => 'value',
PARAM2 => 'value',
LOOP_PARAM =>
[
{ PARAM => VALUE_FOR_FIRST_PASS, ... },
{ PARAM => VALUE_FOR_SECOND_PASS, ... }
...
],
ANOTHER_LOOP_PARAM =>
[
{ PARAM => VALUE_FOR_FIRST_PASS, ... },
{ PARAM => VALUE_FOR_SECOND_PASS, ... }
...
]
} $tokens ||= {};
$tokens->{settings} = Dancer::Config->settings;
$tokens->{request} = Dancer::SharedData->request;
$tokens->{params} = Dancer::SharedData->request->params;
if (setting('session')) {
$tokens->{session} = Dancer::Session->get;
}foreach my $kind ( qw( settings request params session ) ) {foreach my $key ( keys %{ $tokens->{$kind} } ) {$tokens->{$kind.'-'.$key} = delete $tokens->{$kind}->{$key};}
$tokens ||= {};
if (Dancer::Template->engine->can('create_default_tokens') ) {
$tokens = Dancer::Template->engine->create_default_tokens($tokens);
} else {
$tokens->{settings} = Dancer::Config->settings;
$tokens->{request} = Dancer::SharedData->request;
$tokens->{params} = Dancer::SharedData->request->params;
if (setting('session')) {
$tokens->{session} = Dancer::Session->get;
}
}