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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 455 - (hide annotations)
Wed Nov 19 15:28:23 2008 UTC (15 years, 6 months ago) by dpavlin
File size: 731 byte(s)
rename invocable events with prefix as_ with fallback in Frey::Web

This started with brute-force rename using:

  perl -p -i -n -e 's/sub markup/sub as_markup/'  `grep -lr 'sub markup' lib t`
  perl -p -i -n -e 's/sub data/sub as_data/'      `grep -lr 'sub data' lib t`
  perl -p -i -n -e 's/sub sponge/sub as_sponge/'  `grep -lr 'sub sponge' lib t`

  perl -p -i -n -e 's/->markup/->as_markup/'      `grep -lr -- '->markup' lib t`
  perl -p -i -n -e 's/->data/->as_data/'          `grep -lr -- '->data' lib t`
  perl -p -i -n -e 's/->sponge/->as_sponge/'      `grep -lr -- '->sponge' lib t`

  perl -p -i -n -e 's!/markup!/as_markup!'        `grep -lr -- '/markup' lib t etc`
  perl -p -i -n -e 's!/data!/as_data!'            `grep -lr -- '/data' lib t etc`
  perl -p -i -n -e 's!/sponge!/as_sponge!'        `grep -lr -- '/sponge' lib t etc`

1 dpavlin 282 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 dpavlin 304 use Frey::Types;
11     use Frey::Mirror;
12    
13 dpavlin 282 use Data::Feed;
14 dpavlin 297 use Data::Dump qw/dump/;
15 dpavlin 282
16 dpavlin 295 with 'Frey::Storage';
17    
18 dpavlin 282 has uri => (
19     is => 'rw',
20     isa => 'Uri', coerce => 1,
21     required => 1,
22 dpavlin 286 default => 'http://blog.rot13.org/index.xml',
23 dpavlin 282 );
24    
25     has feed => (
26     is => 'ro',
27     lazy => 1,
28     default => sub {
29     my ($self) = @_;
30 dpavlin 304 my $xml = Frey::Mirror->new( uri => $self->uri )->content;
31     Data::Feed->parse( \$xml );
32 dpavlin 282 },
33     );
34    
35     has title => (
36     is => 'ro',
37     lazy => 1,
38 dpavlin 296 default => sub { $_[0]->feed->title },
39 dpavlin 282 );
40    
41 dpavlin 297 sub entries { $_[0]->feed->entries }
42 dpavlin 296
43 dpavlin 455 sub as_data {
44 dpavlin 282 my ($self) = @_;
45 dpavlin 299 # data should return single element!
46 dpavlin 304 [ $self->feed->entries ];
47 dpavlin 282 }
48    
49     1;

  ViewVC Help
Powered by ViewVC 1.1.26