I just noticed this: Dancer 2.0 is at 89.83% ( 53 symbols supported on 59) ... Missing keywords: after, before, before_template, from_xml, load, to_xml
(https://github.com/PerlDancer/Dancer2/) I think it is too soon to start using Dancer 2 in this way. On 28 December 2012 19:40, Celogeek <[email protected]> wrote: > It seems that the new way to do is to create a Dancer::Plugin that add a > hooks. Then use it ! > > > ------------------------------ > *De: *"Celogeek" <[email protected]> > *À: *"Perl Dancer users mailing list" <[email protected]> > *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" <[email protected]> > *À: *"Perl Dancer users mailing list" <[email protected]> > *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" <[email protected]> > *À: *"Perl Dancer users mailing list" <[email protected]> > *Envoyé: *Vendredi 28 Décembre 2012 19:48:33 > *Objet: *Re: [dancer-users] Route dispatch > > Like 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 <[email protected]> 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" <[email protected]> >> *À: *"Perl Dancer users mailing list" <[email protected]> >> *Envoyé: *Vendredi 28 Décembre 2012 19:28:41 >> *Objet: *Re: [dancer-users] Route dispatch >> >> In 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 <[email protected]> wrote: >> >>> >>> solution is to have only one Apps. >>> >>> And transform each submodule into a Moo::Role. >>> >>> may be >>> >>> ------------------------------ >>> *De: *"Alex C" <[email protected]> >>> *À: *"Perl Dancer users mailing list" <[email protected]> >>> *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::Controller >>> >>> hook before { var foo => 'bar' }; >>> >>> get '/' => \&MyApp::Controller::Root; >>> >>> # MyApp::Controller::Root >>> >>> get '/' => 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 <[email protected]> wrote: >>> >>>> this doesn't work with Dancer2 due to context. >>>> the hook is for route in App::Main >>>> so it doesn't fire with the App::Root routes >>>> >>>> >>>> ------------------------------ >>>> *De: *"Alex C" <[email protected]> >>>> *À: *"Perl Dancer users mailing list" <[email protected]> >>>> *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 perl >>>> >>>> use 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 <[email protected]> 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 Dancer2 >>>>> >>>>> ------------------------------ >>>>> *De: *"Alex C" <[email protected]> >>>>> *À: *"Perl Dancer users mailing list" <[email protected]> >>>>> *Envoyé: *Vendredi 28 Décembre 2012 18:18:12 >>>>> *Objet: *Re: [dancer-users] Route dispatch >>>>> >>>>> Yuo are missing the semicolons after your sub declarations. Try it >>>>> agian ;) >>>>> >>>>> On 28 December 2012 15:57, Celogeek <[email protected]> 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 >>>>>> [email protected] >>>>>> http://lists.preshweb.co.uk/mailman/listinfo/dancer-users >>>>>> >>>>>> >>>>> >>>>> _______________________________________________ >>>>> dancer-users mailing list >>>>> [email protected] >>>>> http://lists.preshweb.co.uk/mailman/listinfo/dancer-users >>>>> >>>>> >>>>> _______________________________________________ >>>>> dancer-users mailing list >>>>> [email protected] >>>>> http://lists.preshweb.co.uk/mailman/listinfo/dancer-users >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> dancer-users mailing list >>>> [email protected] >>>> http://lists.preshweb.co.uk/mailman/listinfo/dancer-users >>>> >>>> >>>> _______________________________________________ >>>> dancer-users mailing list >>>> [email protected] >>>> http://lists.preshweb.co.uk/mailman/listinfo/dancer-users >>>> >>>> >>> >>> _______________________________________________ >>> dancer-users mailing list >>> [email protected] >>> http://lists.preshweb.co.uk/mailman/listinfo/dancer-users >>> >>> >>> _______________________________________________ >>> dancer-users mailing list >>> [email protected] >>> http://lists.preshweb.co.uk/mailman/listinfo/dancer-users >>> >>> >> >> _______________________________________________ >> dancer-users mailing list >> [email protected] >> http://lists.preshweb.co.uk/mailman/listinfo/dancer-users >> >> >> _______________________________________________ >> dancer-users mailing list >> [email protected] >> http://lists.preshweb.co.uk/mailman/listinfo/dancer-users >> >> > > _______________________________________________ > dancer-users mailing list > [email protected] > http://lists.preshweb.co.uk/mailman/listinfo/dancer-users > > > _______________________________________________ > dancer-users mailing list > [email protected] > http://lists.preshweb.co.uk/mailman/listinfo/dancer-users > > > _______________________________________________ > dancer-users mailing list > [email protected] > http://lists.preshweb.co.uk/mailman/listinfo/dancer-users > > > _______________________________________________ > dancer-users mailing list > [email protected] > http://lists.preshweb.co.uk/mailman/listinfo/dancer-users > >
_______________________________________________ dancer-users mailing list [email protected] http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
