X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Flib%2FTestApp%2FView%2FDump.pm;fp=t%2Flib%2FTestApp%2FView%2FDump.pm;h=9e0aa63790881c16722ff208ca2c68985657ef2c;hb=dd4e6fd2152eea9f5b0c1f559575ced7684ef257;hp=0000000000000000000000000000000000000000;hpb=424b2705f759cef65acfaf8ea0f43e6bef75b534;p=catagits%2FCatalyst-Runtime.git diff --git a/t/lib/TestApp/View/Dump.pm b/t/lib/TestApp/View/Dump.pm new file mode 100644 index 0000000..9e0aa63 --- /dev/null +++ b/t/lib/TestApp/View/Dump.pm @@ -0,0 +1,37 @@ +package TestApp::View::Dump; + +use strict; +use base qw[Catalyst::Base]; + +use Data::Dumper (); + +sub dump { + my ( $self, $reference ) = @_; + + return unless $reference; + + my $dumper = Data::Dumper->new( [ $reference ] ); + $dumper->Indent(1); + $dumper->Purity(1); + $dumper->Useqq(0); + $dumper->Deepcopy(1); + $dumper->Quotekeys(0); + $dumper->Terse(1); + + return $dumper->Dump; +} + +sub process { + my ( $self, $c, $reference ) = @_; + + if ( my $output = $self->dump( $reference || $c->stash->{dump} || $c->stash ) ) { + + $c->res->headers->content_type('text/plain'); + $c->res->output($output); + return 1; + } + + return 0; +} + +1;