use base 'Mojolicious::Controller';
+use Storable;
+
sub index {
my $self = shift;
my $changes;
foreach my $path ( glob '/tmp/changes/*' ) {
- if ( $path =~ m{/(\d+\.\d+)\.(.+)$} ) {
- push @$changes, [ $1, split(/\./, $2) ];
+ if ( $path =~ m{/((\d+\.\d+)\.data\.(.+))$} ) {
+ push @$changes, { uid => $1, t => $2, action => $3 };
} else {
warn "ignore: $path\n";
}
$self->render(message => 'Latest Changes', changes => $changes );
}
+
+sub view {
+ my $self = shift;
+ my $uid = $self->param('uid');
+ $self->render( change => retrieve( "/tmp/changes/$uid" ) );
+}
+
1;
<ul>
% foreach my $change ( @$changes ) {
<li>
-<a href="<%= url_for( controller => $change->[1], action => $change->[2] ) %>">
-<%= $change->[0] %> <%= $change->[2] %>
-</a>
+<%= $change->{t} %>
+<a href="<%= url_for( controller => 'changes', action => 'view' )->query( uid => $change->{uid} ) %>"><%= $change->{action} %></a>
% }
</ul>