/[Frey]/trunk/lib/Frey/View/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/View/Dumper.pm

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

trunk/lib/Frey/Dumper.pm revision 357 by dpavlin, Sun Nov 16 16:35:48 2008 UTC trunk/lib/Frey/View/Dumper.pm revision 467 by dpavlin, Wed Nov 19 19:28:09 2008 UTC
# Line 1  Line 1 
1  package Frey::Dumper;  package Frey::View::Dumper;
2  use Moose;  use Moose;
3    
4    extends 'Frey';
5    with 'Frey::Web';
6  with 'Frey::Escape';  with 'Frey::Escape';
7    
8  use Data::Dump qw/dump/;  use Data::Dump qw/dump/;
9    
10  =head1 NAME  =head1 DESCRIPTION
11    
12  Frey::Dumper - dump perl data as tree  dump C<data> as html tree
13    
14  =cut  =cut
15    
16  has data => (  has data => (
17          is => 'rw',          is => 'rw',
18          required => 1,          required => 1,
19            documentation => "input data",
20  );  );
21    
22  sub markup {  sub as_markup {
23          my ($self) = @_;          my ($self) = @_;
24          qq|<div class="frey-dumper">| . $self->unroll( $self->data ) . qq|</div>|;          qq|<div class="frey-dumper">| . $self->unroll( $self->data ) . qq|</div>|;
25  }  }
# Line 28  sub unroll { Line 31  sub unroll {
31    
32          $out .= qq|<li${title}>|;          $out .= qq|<li${title}>|;
33          my $mark = $key || '&diams;';          my $mark = $key || '&diams;';
34          $out .= $ref && $ref !~ m{^(ARRAY|HASH)$} ? qq|<a href="/$ref" target="blessed" title="$ref">$mark</a>| : $key;          $out .= $ref && $ref !~ m{^(ARRAY|HASH)$} ? qq|<a href="/$ref" class="blessed" target="blessed" title="$ref">$mark</a>| : ( $key || '' );
35    
36          if ( ref($data) eq 'ARRAY' ) {          if ( ref($data) eq 'ARRAY' ) {
37                  $out .= " &darr;</li>" if $key;                  $out .= " &darr;</li>" if $key;
# Line 42  sub unroll { Line 45  sub unroll {
45                  $out .= "</ul>\n";                  $out .= "</ul>\n";
46          } else {          } else {
47                  $out .= " &rarr; " if $key;                  $out .= " &rarr; " if $key;
48                  if ( $data =~ m{<(\w+)>.+</\1>} ) {                  if ( defined $data && $data =~ m{<(\w+).*>.+</\1>} ) {
49                          $out .= qq|<div style="background: #eee; color: #000">$data</div></li>|;                          $out .= qq|<div style="background: #eee; color: #000" title="HTML">$data</div></li>|;
50                  } else {                  } else {
51                          $out .= "<span>" . $self->html_dump( $data ) . "</span></li>";                          $out .= "<span>" . $self->html_dump( $data ) . "</span></li>";
52                  }                  }

Legend:
Removed from v.357  
changed lines
  Added in v.467

  ViewVC Help
Powered by ViewVC 1.1.26