/[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 455 - (show annotations)
Wed Nov 19 15:28:23 2008 UTC (15 years, 5 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 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 => 'https://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 as_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