Dancer 2.0 is at 89.83% ( 53 symbols supported on 59)...Missing keywords: after, before, before_template, from_xml, load, to_xml
It seems that the new way to do is to create a Dancer::Plugin that add a hooks. Then use it !
De: "Celogeek" <me@celogeek.com>
À: "Perl Dancer users mailing list" <dancer-users@dancer.pm>
Envoyé: Vendredi 28 Décembre 2012 20:33:02
Objet: Re: [dancer-users] Route dispatch
Um, seems doesn't work.How can I add a "before hooks" in a Moo::Role ?
De: "Celogeek" <me@celogeek.com>
À: "Perl Dancer users mailing list" <dancer-users@dancer.pm>
Envoyé: Vendredi 28 Décembre 2012 20:23:36
Objet: Re: [dancer-users] Route dispatch
I'm trying right now on my apps (similar config)De: "Alex C" <calyx238@gmail.com>
À: "Perl Dancer users mailing list" <dancer-users@dancer.pm>
Envoyé: Vendredi 28 Décembre 2012 19:48:33
Objet: Re: [dancer-users] Route dispatchLike this?package MyApp::Role::Hooks;hook before { var foo => 'bar' };package MyApp::Routes::RouteA;with 'MyApp::Role::Hooks';get '/A' => sub { return vars->{foo} };package MyApp::Routes::RouteB;with 'MyApp::Role::Hooks';get '/B' => sub { return vars->{foo} };I hope that works because it looks elegant.On 28 December 2012 18:35, Celogeek <me@celogeek.com> wrote:
Or we can push in a role the common part only between each module.
For example, in my case, I have a common "before" hooks which initialize the redis connexion. So I can put this in a role, and that it.De: "Alex C" <calyx238@gmail.com>
À: "Perl Dancer users mailing list" <dancer-users@dancer.pm>
Envoyé: Vendredi 28 Décembre 2012 19:28:41
Objet: Re: [dancer-users] Route dispatchIn my case, that would mean consuming 20+ roles into the same package, and I lose the benefit of package-scoping.I think there are many people who have spread their Dancer 1 routes across many packages. I would like to know the recommended best practice for migrating such apps to D2.On 28 December 2012 17:58, Celogeek <me@celogeek.com> wrote:
solution is to have only one Apps.And transform each submodule into a Moo::Role.
may beDe: "Alex C" <calyx238@gmail.com>
À: "Perl Dancer users mailing list" <dancer-users@dancer.pm>
Envoyé: Vendredi 28 Décembre 2012 18:46:16
Objet: Re: [dancer-users] Route dispatch
Now I understand what you mean. I also separate my routes into differnet modules, like this:# in MyApp::Controllerhook before { var foo => 'bar' };get '/' => \&MyApp::Controller::Root;# MyApp::Controller::Rootget '/' => sub {my $var = vars->{foo};...};I have yet to play with Dancer 2 but I expect I will have the same problems as you!I hope there is an easy solution to this or I cannot migrate to Dancer 2.On 28 December 2012 17:37, Celogeek <me@celogeek.com> wrote:this doesn't work with Dancer2 due to context.the hook is for route in App::Mainso it doesn't fire with the App::Root routes
De: "Alex C" <calyx238@gmail.com>
À: "Perl Dancer users mailing list" <dancer-users@dancer.pm>
Envoyé: Vendredi 28 Décembre 2012 18:33:57
Objet: Re: [dancer-users] Route dispatch
Sorry I have no experience with Dancer 2 or multiple contexts.This works on Dancer 1, if it is any help:#!/usr/bin/env perluse Dancer;{package App::Main;use Dancer ':syntax';hook before => sub { var xxx => "test" };1;}{package App::Root;use Dancer ':syntax';get "/" => sub { return vars->{xxx} };1;}start;
Good luck..On 28 December 2012 17:25, Celogeek <me@celogeek.com> wrote:it's just a not working short example :)but Dancer use context, so in my App::Main I have a before hooks that only apply to the route present in App::Main.
So my App::Root doesn't have it. And it was the case in Dancer 1.I need to fully change my apps to make it work with Dancer2De: "Alex C" <calyx238@gmail.com>
À: "Perl Dancer users mailing list" <dancer-users@dancer.pm>
Envoyé: Vendredi 28 Décembre 2012 18:18:12
Objet: Re: [dancer-users] Route dispatchYuo are missing the semicolons after your sub declarations. Try it agian ;)On 28 December 2012 15:57, Celogeek <me@celogeek.com> wrote:Can I dispatch my root thought multiple module ?I have in App::Main :hook before => sub {
var xxx => "test";}and in App::Root;get "/" => sub {return vars->{xxx}}
But vars seems empty.In my bin/app.psgi I have :use Dancer;use App::Main;use App::Root;
start;
_______________________________________________
dancer-users mailing list
dancer-users@dancer.pm
http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
_______________________________________________
dancer-users mailing list
dancer-users@dancer.pm
http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
_______________________________________________
dancer-users mailing list
dancer-users@dancer.pm
http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
_______________________________________________
dancer-users mailing list
dancer-users@dancer.pm
http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
_______________________________________________
dancer-users mailing list
dancer-users@dancer.pm
http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
_______________________________________________
dancer-users mailing list
dancer-users@dancer.pm
http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
_______________________________________________
dancer-users mailing list
dancer-users@dancer.pm
http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
_______________________________________________
dancer-users mailing list
dancer-users@dancer.pm
http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
_______________________________________________
dancer-users mailing list
dancer-users@dancer.pm
http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
_______________________________________________
dancer-users mailing list
dancer-users@dancer.pm
http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
_______________________________________________
dancer-users mailing list
dancer-users@dancer.pm
http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
_______________________________________________
dancer-users mailing list
dancer-users@dancer.pm
http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
_______________________________________________
dancer-users mailing list
dancer-users@dancer.pm
http://lists.preshweb.co.uk/mailman/listinfo/dancer-users