domain support for feeds, factor out sc-specific bits
[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 {
fc436d2e 11 $b->created cmp $a->created
ebd4c292 12 } $self->_parent->flatten;
fc436d2e 13 my $max = $self->_max_entries||0;
2a19b2a6 14 $max && @sorted > $max ? @sorted[0..$max-1] : @sorted;
ebd4c292 15}
16
17sub map {
18 my ($self, $mapper) = @_;
19 [ map $mapper->($_), $self->flatten ]
20}
21
221;