[fayland commit] r967 - in trunk/CPAN/MooseX-Dumper: lib/MooseX t

1 view
Skip to first unread message

codesite...@google.com

unread,
Feb 22, 2009, 10:34:57 PM2/22/09
to fay...@googlegroups.com
Author: fayland
Date: Sun Feb 22 19:33:50 2009
New Revision: 967

Added:
trunk/CPAN/MooseX-Dumper/t/04-class-Dump.t
Modified:
trunk/CPAN/MooseX-Dumper/lib/MooseX/Dumper.pm

Log:
add more doc and Data::Dump support

Modified: trunk/CPAN/MooseX-Dumper/lib/MooseX/Dumper.pm
==============================================================================
--- trunk/CPAN/MooseX-Dumper/lib/MooseX/Dumper.pm (original)
+++ trunk/CPAN/MooseX-Dumper/lib/MooseX/Dumper.pm Sun Feb 22 19:33:50 2009
@@ -19,10 +19,16 @@

unless ( Class::MOP::is_class_loaded( $self->dumper_class ) ) {
Class::MOP::load_class( $self->dumper_class );
- $self->dumper_class->import('Dumper');
}

- return Dumper(@_);
+ # Data::Dump 'dump'
+ foreach my $meth ( 'Dumper', 'dump', 'Dump' ) {
+ if ( $self->dumper_class->can($meth) ) {
+ my $class = $self->dumper_class;
+ my $val = eval "${class}::${meth}(\@_)"; # no critic
+ return $val;
+ }
+ }
}

no Moose;
@@ -39,12 +45,35 @@

use MooseX::Dumper;

- my $dumper = MooseX::Dumper->new_with_traits( traits =>
['Perltidy', 'HTML'] );
+ my $dumper = MooseX::Dumper->new_with_traits(
+ traits => ['Perltidy', 'HTML'],
+ dumper_class => 'Data::Dump',
+ );
print $dumper->Dumper(\$hash, \@array);

=head1 DESCRIPTION

+=head1 METHODS
+
+=head2 new_with_traits
+
+=over 4
+
+=item traits
+
+Moose Roles, check L<MooseX::Dumper::Roles::Perltidy> and
L<MooseX::Dumper::Roles::HTML>
+
+=item dumper_class

+L<Data::Dumper> by default. but you still have choice to use L<Data::Dump>
or others.
+
+ my $dumper = MooseX::Dumper->new( dumper_class => 'Data::Dump' );
+
+=back
+
+=head2 Dumper
+
+ print $dumper->Dumper(\$hash, \@array);

=head1 AUTHOR


Added: trunk/CPAN/MooseX-Dumper/t/04-class-Dump.t
==============================================================================
--- (empty file)
+++ trunk/CPAN/MooseX-Dumper/t/04-class-Dump.t Sun Feb 22 19:33:50 2009
@@ -0,0 +1,24 @@
+#!perl -T
+
+use Test::More;
+
+BEGIN {
+
+ my $has = eval "use Data::Dump; 1;";
+ $has or plan skip_all =>
+ "Data::Dump is required for this test";
+
+ plan tests => 1;
+};
+
+use MooseX::Dumper;
+
+my $dumper = MooseX::Dumper->new( dumper_class => 'Data::Dump' );
+
+my @a = (1, [2, 3], {4 => 5});
+
+my $ret = $dumper->Dumper(@a);
+
+is $ret, '(1, [2, 3], { 4 => 5 })';
+
+1;
\ No newline at end of file

Reply all
Reply to author
Forward
0 new messages