/[Frey]/trunk/lib/Frey/Feed.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /trunk/lib/Frey/Feed.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 304 - (show annotations)
Wed Nov 5 12:32:36 2008 UTC (15 years, 5 months ago) by dpavlin
File size: 728 byte(s)
use Frey::Mirror to fetch and cache feed localy in original form
1 package Frey::Feed;
2 use Moose;
3
4 =head1 NAME
5
6 Frey::Feed - represent RSS/Atom feed using L<Data::Feed>
7
8 =cut
9
10 use Frey::Types;
11 use Frey::Mirror;
12
13 use Data::Feed;
14 use Data::Dump qw/dump/;
15
16 with 'Frey::Storage';
17
18 has uri => (
19 is => 'rw',
20 isa => 'Uri', coerce => 1,
21 required => 1,
22 default => 'http://blog.rot13.org/index.xml',
23 );
24
25 has feed => (
26 is => 'ro',
27 lazy => 1,
28 default => sub {
29 my ($self) = @_;
30 my $xml = Frey::Mirror->new( uri => $self->uri )->content;
31 Data::Feed->parse( \$xml );
32 },
33 );
34
35 has title => (
36 is => 'ro',
37 lazy => 1,
38 default => sub { $_[0]->feed->title },
39 );
40
41 sub entries { $_[0]->feed->entries }
42
43 sub data {
44 my ($self) = @_;
45 # data should return single element!
46 [ $self->feed->entries ];
47 }
48
49 1;

  ViewVC Help
Powered by ViewVC 1.1.26