--- trunk/lib/SourceSnoop.pm 2008/09/13 14:19:04 186 +++ trunk/lib/SourceSnoop.pm 2008/09/14 00:45:11 189 @@ -5,6 +5,8 @@ use lib '/rest/cvs/vci/lib'; # FIXME use VCI; +use HTML::Entities qw/encode_entities/; + extends 'Frey'; with 'Frey::Web'; @@ -15,8 +17,14 @@ sub pre_dump { my $o = shift; # because Data::Dumper::HTML sucks - my $t = $o->dump; $t =~ s/ {8}/ /gm; - return "
$t
"; + my $t; + if ( blessed($o) && $o->can('dump') ) { + $t = $o->dump; + $t =~ s/ {8}/ /gm; + } else { + $t = dump( $o ); + } + return '
' . encode_entities($t) . '

'; } sub html { @@ -41,14 +49,33 @@ $request->print( $self->page( title => $path, body => $html ) ); $request->next; - my %param = $request->params; + %param = $request->params; warn "## params = ",dump( %param ); my $project = $repo->get_project( name => $param{name} ); + my $rev = $project->head_revision; + + my $commit = $project->get_commit( revision => $rev ); + + sub div { + my ( $class, $text ) = @_; + return "
$text
"; + } + + my $diff = $commit->as_diff; + + my $body = + '

Commit

' . + div( 'revision', $commit->revision ) . + div( 'commiter', $commit->committer ) . + div( 'date', $commit->time->iso8601 ) . + div( 'message', $commit->message ) . + '
' . encode_entities( $diff->raw ) . '
' . + pre_dump( $diff ); $request->print( $self->page( - title => $path . '/' . $project->name , - body => pre_dump( $project ) + title => $path . '/' . $project->name, + body => $body, ) ); $request->next; }