--- trunk/lib/Frey/Dumper.pm 2008/11/06 20:25:04 325 +++ trunk/lib/Frey/Dumper.pm 2008/11/06 20:56:44 327 @@ -1,6 +1,8 @@ package Frey::Dumper; use Moose; +with 'Frey::Escape'; + use Data::Dump qw/dump/; =head1 NAME @@ -16,30 +18,29 @@ sub markup { my ($self) = @_; + qq|
| . $self->unroll( $self->data ) . qq|
|; +} - sub unroll { - my ($data,$ref,$key) = @_; - my $out; - my $title = $ref ? qq| title="$ref"| : ''; - if ( ref($data) eq 'ARRAY' ) { - $out .= "
  • $key
  • " if $key; - $out .= qq|\n|; - $out .= unroll($_,ref($_)) foreach @$data; - $out .= "\n"; - } elsif ( ref($data) ) { - $out .= "
  • $key
  • " if $key; - $out .= qq|\n|; - $out .= unroll($data->{$_},ref($data->{$_}),$_) foreach keys %$data; - $out .= "\n"; - } else { - $out .= qq||; - $out .= "$key → " if $key; - $out .= dump( $data ) . ""; - } - return $out; +sub unroll { + my ($self,$data,$ref,$key) = @_; + my $out; + my $title = $ref ? qq| title="$ref"| : ''; + if ( ref($data) eq 'ARRAY' ) { + $out .= "
  • $key ↓
  • " if $key; + $out .= qq|\n|; + $out .= $self->unroll($_,ref($_)) foreach @$data; + $out .= "\n"; + } elsif ( ref($data) ) { + $out .= "
  • $key ↓
  • " if $key; + $out .= qq|\n|; + $out .= $self->unroll($data->{$_},ref($data->{$_}),$_) foreach keys %$data; + $out .= "\n"; + } else { + $out .= qq||; + $out .= "$key → " if $key; + $out .= "" . $self->html_dump( $data ) . ""; } - - unroll( $self->data ); + return $out; } 1;