--- trunk/lib/SourceSnoop.pm 2008/09/13 14:19:04 186
+++ trunk/lib/SourceSnoop.pm 2008/10/31 19:51:51 213
@@ -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,11 +17,22 @@
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 {
+use MooseX::Method;
+
+method request => positional(
+ { isa => 'Continuity::RequestHolder', required => 1 },
+) => sub {
+#sub request {
my ( $self, $request ) = @_;
my %param = $request->params;
@@ -41,17 +54,36 @@
$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;
-}
+};
warn "## VCI loaded";