summary refs log tree commit diff
path: root/lib/Plack/Middleware/Debug/Dancer/Settings.pm
diff options
context:
space:
mode:
authorfranck cuny <franck@lumberjaph.net>2010-04-18 11:46:33 +0200
committerfranck cuny <franck@lumberjaph.net>2010-04-18 11:46:33 +0200
commiteb4db48d0e65a3c7c23b7372566fa7121f0cd574 (patch)
tree733db3456f1b81203f4c8663f7b0c304854bb474 /lib/Plack/Middleware/Debug/Dancer/Settings.pm
parentinitial commit (diff)
downloaddancer-debug-eb4db48d0e65a3c7c23b7372566fa7121f0cd574.tar.gz
some dancer specific panel for debugging
Diffstat (limited to 'lib/Plack/Middleware/Debug/Dancer/Settings.pm')
-rw-r--r--lib/Plack/Middleware/Debug/Dancer/Settings.pm30
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/Plack/Middleware/Debug/Dancer/Settings.pm b/lib/Plack/Middleware/Debug/Dancer/Settings.pm
new file mode 100644
index 0000000..cf10748
--- /dev/null
+++ b/lib/Plack/Middleware/Debug/Dancer/Settings.pm
@@ -0,0 +1,30 @@
+package Plack::Middleware::Debug::Dancer::Settings;
+use 5.008;
+use strict;
+use warnings;
+use parent qw(Plack::Middleware::Debug::Base);
+use Class::Method::Modifiers qw/install_modifier/;
+use Dancer::Config;
+
+#my $psgi_env;
+# install_modifier 'Dancer', 'around', 'start' => sub {
+#     my $orig = shift;
+#     my $self = shift;
+#     $psgi_env->{'plack.middleware.dancer_settings'} = $self->config;
+#     $self->$orig(@_);
+# };
+
+sub run {
+    my ( $self, $env, $panel ) = @_;
+#    $psgi_env = $env;
+
+    return sub {
+        my $res = shift;
+        my $settings = Dancer::Config->settings();
+#        my $settings = $env->{'plack.middleware.dancer_settings'};
+        my @settings = map { $_ => $settings->{$_}} keys %$settings;
+        $panel->content( sub { $self->render_list_pairs( \@settings ) } );
+    };
+}
+
+1;