--- trunk/lib/Frey/SVK.pm 2008/11/28 13:25:17 584 +++ trunk/lib/Frey/SVK.pm 2008/11/28 13:26:08 585 @@ -4,6 +4,18 @@ extends 'Frey'; with 'Frey::Web'; +has commit_path => ( + documentation => 'path to commit', + is => 'rw', + isa => 'Str', +); + +has message => ( + documentation => 'commit message', + is => 'rw', + isa => 'Str', +); + sub svk { my ( $self, $exec, $coderef ) = @_; open(my $svk, '-|', 'svk ' . $exec) or die "svk $exec: $@"; @@ -42,19 +54,18 @@ } } -sub as_markup { +sub status_as_markup { my ($self) = @_; - - if ( ! $self->can('html_escape') ) { - Frey::Web->meta->apply( $self ); - $self->TODO( "Frey::Web role missing" ); - } - my $status = `svk status -q`; $status =~ s{^(\w+\s+)(\S+)$}{$1$2}gm; $self->add_css( qq| pre.l a { text-decoration: none; } | ); $status = qq|
$status
|; $self->add_status( $status ); + return $status; +} + +sub diff_as_markup { + my ($self) = @_; my $diff = `svk diff`; @@ -68,8 +79,18 @@ $diff =~ s{^(===\s+)(\S+)$}{$1$2}gm; $diff = qq|
$diff
|; + return $diff; +} + +sub as_markup { + my ($self) = @_; + + if ( ! $self->can('html_escape') ) { + Frey::Web->meta->apply( $self ); + $self->TODO( "Frey::Web role missing" ); + } - my $html = $status . $diff; + my $html = $self->status_as_markup . $self->diff_as_markup; warn "html ",length($html)," bytes"; return $html;