diff options
author | Jesse Luehrs <doy@tozt.net> | 2009-11-30 21:12:42 -0600 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2009-11-30 21:12:42 -0600 |
commit | 6f14c0b2c354d81be4be7132c574cc474e4d5e2c (patch) | |
tree | 173af23c7ac15fdb7df0077b944585903da16cf1 /lib/Crawl/Bot/Role | |
parent | 89321e1456c210e8e4a4b6593ae84a41fc2bfe3e (diff) | |
download | crawlbot-6f14c0b2c354d81be4be7132c574cc474e4d5e2c.tar.gz crawlbot-6f14c0b2c354d81be4be7132c574cc474e4d5e2c.zip |
XML::RAI is dumb
Diffstat (limited to 'lib/Crawl/Bot/Role')
-rw-r--r-- | lib/Crawl/Bot/Role/RSS.pm | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/Crawl/Bot/Role/RSS.pm b/lib/Crawl/Bot/Role/RSS.pm index 8470eee..8576a82 100644 --- a/lib/Crawl/Bot/Role/RSS.pm +++ b/lib/Crawl/Bot/Role/RSS.pm @@ -10,7 +10,15 @@ requires 'rss_feed'; sub current_items { my $self = shift; my $rss = XML::RAI->parse_uri($self->rss_feed); - return @{ $rss->items }; + # after the XML::RAI object goes out of scope, the item objects become + # worthless. how dumb. capture the relevant data in some hashrefs instead. + return map { + my $item = $_; + +{ + map { $_ => $item->$_ } + qw(identifier title link creator) + } + } @{ $rss->items }; } no Moose::Role; |