| Bryar documentation | Contained in the Bryar distribution. |
Bryar::Collector - Determine which documents to show
$self->collect(...); $self->collect_current(...);
This class is called upon to pick out the right number of the relevant blog documents, so that they can be shipped off to the renderer.
$self->collect
Return the right number of documents, based on the arguments passed in by the user.
$self->collect_current
Return the latest set of documents.
TODO: make this configurable as well, to return X number or all posts X units of time back. =cut
This module is free software, and may be distributed under the same terms as Perl itself.
Copyright (C) 2003, Simon Cozens simon@kasei.com
| Bryar documentation | Contained in the Bryar distribution. |
package Bryar::Collector; use 5.006; use strict; use warnings; use Carp; our $VERSION = '1.0';
sub collect { my $class = shift; my $config = shift; croak "Must pass in a Bryar::Config object" unless UNIVERSAL::isa($config, "Bryar::Config"); my %args = @_; $config->{arguments} = \%args; delete $args{format}; # Not interesting if (! keys %args) { # Default operation return $class->collect_current($config); } my @docs = sort {$b->epoch <=> $a->epoch } $config->source->search($config, %args); return @docs; }
sub collect_current { my $self = shift; my $config = shift; croak "Must pass in a Bryar::Config object" unless UNIVERSAL::isa($config, "Bryar::Config"); my @list = sort { $b->epoch <=> $a->epoch } $config->source->search( $config, limit => $config->recent() ); return @list; }
1;