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

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

revision 350 by dpavlin, Sun Nov 16 00:37:34 2008 UTC revision 351 by dpavlin, Sun Nov 16 13:01:56 2008 UTC
# Line 41  has 'params' => ( Line 41  has 'params' => (
41  has 'run' => (  has 'run' => (
42          is => 'rw',          is => 'rw',
43          isa => 'Runnable',          isa => 'Runnable',
44            default => 'markup',
45  );  );
46    
47  sub html {  sub html {
# Line 102  sub html { Line 103  sub html {
103                  }                  }
104                  $html .= qq|<input type="submit" value="Run $class"></form>|;                  $html .= qq|<input type="submit" value="Run $class"></form>|;
105          } else {          } else {
106                  my $o = $class->new( %{ $self->params } );                  my $o;
107                    eval { $o = $class->new( %{ $self->params } ); };
108                    if ( $@ ) {
109                            return $self->page( title => $class, body => $self->error( $@ ) );
110                    }
111                  $o->depends if $o->can('depends');                  $o->depends if $o->can('depends');
112                  if ( $o->can('markup') ) {  
113                    if ( $self->run eq 'markup' ) {
114                          warn "## using ",ref($o), "->markup";                          warn "## using ",ref($o), "->markup";
115                          $html = eval { $o->markup };                          $html = eval { $o->markup };
116                          $html .= $self->error( $@ ) if $@;                          $html .= $self->error( $@ ) if $@;
117                          warn ">>> markup $class ",length( $html ), " bytes\n";                          warn ">>> markup $class ",length( $html ), " bytes\n";
118                  } elsif ( $o->can('sponge') ) {                  } elsif ( $self->run eq 'sponge' ) {
119                          my $data = $o->sponge;                          my $data = eval { $o->sponge };
120                          $html .= '<table>';                          if ( $@ ) {
121                          $html .= '<tr><th>' . join('</th><th>', @{$data->{NAME}} ) . '</th></tr>';                                  $html .= $self->error( $@ );
122                          $html .= '<tr><td>' . join('</td><td>', @$_ ) . '</td></tr>' foreach @{ $data->{rows} };                          } else {
123                          $html .= '</table>';                                  $html .= '<table>';
124                  } elsif ( $o->can('data') ) {                                  $html .= '<tr><th>' . join('</th><th>', @{$data->{NAME}} ) . '</th></tr>';
125                          my $data = $o->data;                                  $html .= '<tr><td>' . join('</td><td>', @$_ ) . '</td></tr>' foreach @{ $data->{rows} };
126                          $html .= Frey::Dumper->new( data => $data )->markup;                                  $html .= '</table>';
127                          $html .= '<hr/><code>' . $self->html_dump( $data ) . '</code>';                          }
128                    } elsif ( $self->run eq 'data' ) {
129                            my $data = eval { $o->data; };
130                            if ( $@ ) {
131                                    $html .= $self->error( $@ );
132                            } else {
133                                    $html .= Frey::Dumper->new( data => $data )->markup;
134                                    $html .= '<hr/><code>' . $self->html_dump( $data ) . '</code>';
135                            }
136                  } else {                  } else {
137                          $html = "IGNORE: $class ", $o->dump;                          $html = $self->error( "IGNORE: $class ", $o->dump );
                         warn $html;  
138                  }                  }
139          }          }
140    

Legend:
Removed from v.350  
changed lines
  Added in v.351

  ViewVC Help
Powered by ViewVC 1.1.26