CGI-Application-Plugin-DevPopup-Query

 view release on metacpan or  search on metacpan

Query.pm  view on Meta::CPAN

1.03

=head1 SUBROUTINES/METHODS

No public methods for this module exist.

=cut

sub import {
    my $c = scalar caller;
    $c->add_callback( 'devpopup_report', \&_runmode_report );
    $c->add_callback( 'devpopup_report', \&_query_report );
    goto &Exporter::import;
}

sub _runmode_report {
    my $self = shift;

    my $current_runmode = '<h3>' . ($self->get_current_runmode() || '<em>default</em>') . '</h3>';

    return $self->devpopup->add_report(
        'title'   => 'Current Run Mode',
        'summary' => $current_runmode,
        'report'  => $current_runmode,
    );
}

sub _query_report {
    my $self = shift;
    my $cgi = _cgi_report($self);

    my $current_runmode = $self->get_current_runmode() || 'default';

    return $self->devpopup->add_report(
        'title'   => 'CGI Query',
        'summary' => 'CGI request parameters',
        'report'  => qq!<style type="text/css">tr.even{background-color:#eee; } thead th h3 {margin: 0;}</style><table><thead><th colspan="2"><h3>CGI Query</h3></th></thead><tbody> $cgi </tbody></table>!,
    );
}

sub _cgi_report {
    my $self = shift;

    my $r = 0;

t/t1.t  view on Meta::CPAN

{
    package My::App;
    use base qw/CGI::Application/;
    use CGI;
    use CGI::Application::Plugin::DevPopup;
    use CGI::Application::Plugin::DevPopup::Query;

    sub setup
    {
        my $self = shift;
        $self->add_callback('devpopup_report', 'my_report');
        $self->start_mode('runmode');
        $self->run_modes([ qw/runmode/ ]);

        my $query = CGI->new({'dinosaur' => 'barney'});
        $self->query($query);

        return;
    }

    sub runmode
    {
        my $self = shift;
        return '<html><body>Hi there!</body></html>';
    }

    sub my_report
    {
        my $self = shift;
        my $outputref = shift;
        $self->devpopup->add_report(
            title => 'Test 1',
            report => 'Test 1 report body',
        );
        return;
    }
}

$ENV{'CGI_APP_RETURN_ONLY'} = 1;
$ENV{'HTTP_HOST'} = undef; # RT #42315



( run in 1.205 second using v1.01-cache-2.11-cpan-364913b4093 )