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