/[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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 282 by dpavlin, Wed Nov 5 08:20:55 2008 UTC revision 1133 by dpavlin, Tue Jun 30 15:10:55 2009 UTC
# Line 1  Line 1 
1  package Frey::Feed;  package Frey::Feed;
2  use Moose;  use Moose;
3    
4    extends 'Frey';
5    with 'Frey::Storage';
6    
7  =head1 NAME  =head1 NAME
8    
9  Frey::Feed - represent RSS/Atom feed using L<Data::Feed>  Frey::Feed - represent RSS/Atom feed using L<XML::FeedPP>
10    
11  =cut  =cut
12    
 use Data::Feed;  
13  use Frey::Types;  use Frey::Types;
14    use Frey::Mirror;
15    
16    use XML::FeedPP;
17    use Data::Dump qw/dump/;
18    
19  has uri => (  has uri => (
20          is => 'rw',          is => 'rw',
21          isa => 'Uri', coerce => 1,          isa => 'Uri', coerce => 1,
22          required => 1,          required => 1,
23            default => 'http://blog.rot13.org/index.xml',
24  );  );
25    
26  has feed => (  has feed => (
# Line 21  has feed => ( Line 28  has feed => (
28          lazy => 1,          lazy => 1,
29          default => sub {          default => sub {
30                  my ($self) = @_;                  my ($self) = @_;
31                  warn "parse ", $self->uri;                  my $xml = Frey::Mirror->new( uri => $self->uri )->content;
32                  Data::Feed->parse( $self->uri );                  XML::FeedPP->new( $xml );
33          },          },
34  );  );
35    
36  has title => (  has title => (
37          is => 'ro',          is => 'ro',
38          lazy => 1,          lazy => 1,
39          default => sub { $_[0]->feed->title }          default => sub { $_[0]->feed->title },
40  );  );
41    
42  use Data::Dump qw/dump/;  sub entries { $_[0]->feed->get_item() }
43  sub data {  
44    sub as_data {
45          my ($self) = @_;          my ($self) = @_;
46          warn "data ",$self->uri," ",dump($self->feed->entries);          # data should return single element!
47          $self->feed->entries;          [ $self->entries ];
48  }  }
49    
50    __PACKAGE__->meta->make_immutable;
51    no Moose;
52    
53  1;  1;

Legend:
Removed from v.282  
changed lines
  Added in v.1133

  ViewVC Help
Powered by ViewVC 1.1.26