From 9090ab074178097f73d54c583a40a022183d9978 Mon Sep 17 00:00:00 2001 From: franck cuny Date: Sat, 21 Aug 2010 17:15:09 +0200 Subject: add apps panel, rewrite routes one --- lib/Plack/Middleware/Debug/Dancer/App.pm | 27 +++++++++++++++++++++++ lib/Plack/Middleware/Debug/Dancer/Routes.pm | 33 ++++++++++++++++------------- 2 files changed, 45 insertions(+), 15 deletions(-) create mode 100644 lib/Plack/Middleware/Debug/Dancer/App.pm (limited to 'lib/Plack/Middleware/Debug') diff --git a/lib/Plack/Middleware/Debug/Dancer/App.pm b/lib/Plack/Middleware/Debug/Dancer/App.pm new file mode 100644 index 0000000..424c1eb --- /dev/null +++ b/lib/Plack/Middleware/Debug/Dancer/App.pm @@ -0,0 +1,27 @@ +package Plack::Middleware::Debug::Dancer::App; + +use strict; +use warnings; + +use parent qw/Plack::Middleware::Debug::Base/; +use Dancer::App; + +sub run { + my ( $self, $env, $panel ) = @_; + + return sub { + my $applications; + + foreach my $app ( Dancer::App->applications ) { + $applications->{ $app->{name} } = $app->{settings}; + } + + $panel->title('Applications'); + $panel->nav_title('Applications'); + $panel->content( + sub { $self->render_hash( $applications, [ keys %$applications ] ) } + ); + }; +} + +1; diff --git a/lib/Plack/Middleware/Debug/Dancer/Routes.pm b/lib/Plack/Middleware/Debug/Dancer/Routes.pm index d214370..aeed516 100644 --- a/lib/Plack/Middleware/Debug/Dancer/Routes.pm +++ b/lib/Plack/Middleware/Debug/Dancer/Routes.pm @@ -5,32 +5,35 @@ package Plack::Middleware::Debug::Dancer::Routes; use strict; use warnings; use parent qw(Plack::Middleware::Debug::Base); -use Dancer::Session; sub run { my ( $self, $env, $panel ) = @_; return sub { - my $routes = Dancer::Route::Registry->routes(); - my $hash_routes; - - foreach my $method ( keys %$routes ) { - map { - my $name = $_->{method} . ' ' . $_->{route}; - $hash_routes->{$name} = { - method => $_->{method}, - options => $_->{options}, - params => $_->{params}, - route => $_->{route} - }; - } @{ $routes->{$method} }; + my $hash_routes = {}; + foreach my $app ( Dancer::App->applications ) { + my $routes = $app->{registry}->{routes}; + foreach my $method (keys %$routes) { + foreach (@{$routes->{$method}}) { + $hash_routes->{$method}->{$_->{_compiled_regexp}} = $_->{_params}; + } + } + # map { + # my $name = $_->{method} . ' ' . $_->{route}; + # $hash_routes->{$name} = { + # method => $_->{method}, + # options => $_->{options}, + # params => $_->{params}, + # route => $_->{route} + # }; + # } @{ $routes->{$method} }; } $panel->title('Dancer::Route'); $panel->nav_subtitle( "Dancer::Route (" . ( keys %$hash_routes ) . ")" ); $panel->content( - sub { $self->render_hash( $hash_routes, [ keys %$hash_routes ] ) } + sub { $self->render_hash( $hash_routes, [keys %$hash_routes] ) } ); }; } -- cgit 1.4.1