[dancer-users] Re : Before Hook hit multiple times.

David Precious davidp at preshweb.co.uk
Fri Jan 4 12:57:24 GMT 2013


On Fri, 4 Jan 2013 10:28:43 +0100
Alexis Sukrieh <sukria at sukria.net> wrote:
> I think the user should be able to say : these apps (packages) share
> the same registry, or in other words, these are supposed to be merged
> into one app.
> 
> For instance:
> 
>   package App;
>   use Dancer;
>   use App::Foo;
>   use App::Bar;
> 
> In this example, everything in Foo and Bar are in a jail, they don't
> share hooks or engines. We need a way to tell Dancer to load multiple
> apps as one, I'm not sure exactly how the DSL should be extended to
> allow that, but here is the idea I have in mind:
> 
>   package App;
>   use Dancer;
>   consume 'App::Foo', 'App::Bar';
> 
> That new "consume" keyword would be responsible for loading
> everything that is defined in the packages _into_ the current
> package. That would be, I think, the most generic and proper way to
> share settings, hooks and everything between "apps".

Hmm, I like that; the sounds like it could be a good solution to the
problem.

I definitely think it should be possible to load routes etc from
different packages but have them share a scope for config / hooks etc.

At $work, we have a very large Dancer app, with routes defined in
various packages (grouped logically); however, we have before hooks
which should run for all routes, and session engine / serializer etc
settings which apply to all; we'd need to be able to do the same with D2
one way or another.

Part of me wonders if the auto scope-per-package stuff should be
configurable, so you could request D1-style "all in one" behaviour if
desired, but I'm not sure.


-- 
David Precious ("bigpresh") <davidp at preshweb.co.uk>
http://www.preshweb.co.uk/     www.preshweb.co.uk/twitter
www.preshweb.co.uk/linkedin    www.preshweb.co.uk/facebook
www.preshweb.co.uk/cpan        www.preshweb.co.uk/github




More information about the dancer-users mailing list