start of SubList filter code
[scpubgit/SCS.git] / lib / SCSite / LatestPageSet.pm
CommitLineData
ebd4c292 1package SCSite::LatestPageSet;
2
3use Moo;
4
5has _parent => (is => 'ro', required => 1, init_arg => 'parent');
6has _max_entries => (is => 'ro', required => 1, init_arg => 'max_entries');
7
8sub flatten {
9 my ($self) = @_;
10 my @sorted = sort {
11 $a->created cmp $b->created
12 } $self->_parent->flatten;
13 $self->_max_entries ? @sorted[0..$self->_max_entries-1] : @sorted;
14}
15
16sub map {
17 my ($self, $mapper) = @_;
18 [ map $mapper->($_), $self->flatten ]
19}
20
211;