More Page code
has 'revisions' => (
metaclass => 'Collection::Array',
is => 'ro',
isa => 'ArrayRef[Str]',
required => 0,
default => sub { shift->_versions },
lazy => 1,
auto_deref => 1,
provides => {
unshift => '_unshift_revision',
},
);
sub _versions {
my $self = shift;
my $dir = $self->storage;
opendir my $dh, $dir->stringify;
my @files = readdir $dh;
closedir $dh;
return [
sort { _revision_sorter($a, $b) }
map { $_->basename }
grep { -f }
map { $dir->file($_) } @files
];
}