/[Frey]/trunk/lib/Frey/Dumper.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/lib/Frey/Dumper.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 324 by dpavlin, Wed Nov 5 08:20:59 2008 UTC revision 325 by dpavlin, Thu Nov 6 20:25:04 2008 UTC
# Line 1  Line 1 
1  package Frey::Dumper;  package Frey::Dumper;
2  use Moose;  use Moose;
3    
4    use Data::Dump qw/dump/;
5    
6  =head1 NAME  =head1 NAME
7    
8  Frey::Dumper - dump data using L<Data::Dumper::HTML>  Frey::Dumper - dump perl data as tree
9    
10  =cut  =cut
11    
 use Data::Dumper::HTML qw(dumper_html);  
   
12  has data => (  has data => (
13          is => 'rw',          is => 'rw',
14          required => 1,          required => 1,
# Line 16  has data => ( Line 16  has data => (
16    
17  sub markup {  sub markup {
18          my ($self) = @_;          my ($self) = @_;
19          dumper_html( $self->data );  
20            sub unroll {
21                    my ($data,$ref,$key) = @_;
22                    my $out;
23                    my $title = $ref ? qq| title="$ref"| : '';
24                    if ( ref($data) eq 'ARRAY' ) {
25                            $out .= "<li>$key</li>" if $key;
26                            $out .= qq|<ol${title}>\n|;
27                            $out .= unroll($_,ref($_)) foreach @$data;
28                            $out .= "</ol>\n";
29                    } elsif ( ref($data) ) {
30                            $out .= "<li>$key</li>" if $key;
31                            $out .= qq|<ul${title}>\n|;
32                            $out .= unroll($data->{$_},ref($data->{$_}),$_) foreach keys %$data;
33                            $out .= "</ul>\n";
34                    } else {
35                            $out .= qq|<li${title}>|;
36                            $out .= "$key &rarr; " if $key;
37                            $out .= dump( $data ) . "</li>";
38                    }
39                    return $out;
40            }
41    
42            unroll( $self->data );
43  }  }
44    
45  1;  1;

Legend:
Removed from v.324  
changed lines
  Added in v.325

  ViewVC Help
Powered by ViewVC 1.1.26