| Markdent documentation | Contained in the Markdent distribution. |
Markdent::Role::DebugPrinter - A role for classes which output debugging information
version 0.17
This role implements behavior shared by all classes which output debugging information.
This roles provides the following attributes:
This is a read-write boolean attribute.
It defaults to the value of $ENV{MARKDENT_DEBUG}, if set, or 0.
This roles provides the following methods:
This method takes a text string, a parse result string (like "preformatted" or "code_start"), and an optional array reference of extra key/value pairs.
All of this will be concatenated together in a pretty(-ish) way and passed to
$object->_print_debug().
This warns out the provided text along with a delimiter above the message.
See Markdent for bug reporting details.
Dave Rolsky <autarch@urth.org>
This software is copyright (c) 2010 by Dave Rolsky.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
| Markdent documentation | Contained in the Markdent distribution. |
package Markdent::Role::DebugPrinter; BEGIN { $Markdent::Role::DebugPrinter::VERSION = '0.17'; } use strict; use warnings; use Markdent::Types qw( Bool ); use namespace::autoclean; use Moose::Role; has debug => ( is => 'rw', isa => Bool, default => $ENV{MARKDENT_DEBUG} || 0, ); my $HR1 = q{=} x 70; my $HR2 = q{-} x 70; sub _debug_parse_result { my $self = shift; my $text = shift; my $type = shift; my $extra = shift || []; my $msg = '[' . $text . "]\n" . $HR2 . "\n" . ' - ' . $type . "\n"; while ( @{$extra} ) { my ( $key, $value ) = splice @{$extra}, 0, 2; $msg .= sprintf( ' - %-10s : %s', $key, $value ); $msg .= "\n"; } $self->_print_debug($msg); } sub _print_debug { warn $HR1 . "\n" . ( ref $_[0] ) . "\n" . $_[1] . "\n"; } 1; # ABSTRACT: A role for classes which output debugging information
__END__