|
NAMECatalyst::Model::XML::Feed - Use RSS/Atom feeds as a Catalyst ModelVERSIONVersion 0.04SYNOPSISIn your own model:package MyApp::Model::Feeds; use base qw(Catalyst::Model::XML::Feed); Then from elsewhere in your application: $c->model('Feeds')->register('delicious', 'http://del.icio.us/rss'); $c->model('Feeds')->register('http://blog.jrock.us/'); my @feeds = $c->model('Feeds')->get_all_feeds; my $delicious = $c->model('Feeds')->get('delicious'); You can also pre-register feeds from your config file: --- Model::Feeds: feeds: - uri: http://blog.jrock.us/ - uri: http://search.cpan.org/ - title: delicious uri: http://del.icio.us/rss/ See CONFIGURATION below for details. DESCRIPTIONCatalyst::Model::XML::Feed allows you to use XML feeds in your Catalyst application. To use a feed, you need to register it with the "register" method.Once a feed is registered, it's automatically cached for you. CONFIGURATIONConfiguration is accepted via the standard Catalyst method:$c->config->{Model::Feeds}->{key} = $value; Valid keys include:
Example config in MyApp.yml (assuming you call your feed model "Feeds"): Model::Feeds: feeds: - uri: http://blog.jrock.us/ - title: delicious location: http://del.icio.us/rss/ ttl: 1337 METHODSnewCreates a new instance. Called for you by Catalyst. If your config file contains invalid feeds the feed will be refetched when the feed content is accessed. This allows your Catalyst app to start even in the case of an external outage of an RSS feed.register($uri_of_feed)Registers a feed with the Model. If $uri_of_feed points to a feed, the feed is added under its own name. If $$uri_of_feed points to an HTML or XHTML document containing "<link>" tags pointing to feeds, all feeds are added by using their URIs as their names.Returns a list of the names of the feeds that were added. Warns if the $uri_of_feeds doesn't contain a feed or links to feeds, or it cannot be fetched. register($name, $uri_of_feed)Registers a feed with the Model. If $name is already registered, the old feed at $name is forgotten and replaced with the new feed at $uri_of_feed. The "title" of the feed is replaced with $name.Warns if $uri_of_feed isn't an XML feed (or doesn't contain a "link" to one). Throws an exception if the $uri_of_feed links to multiple feeds. namesReturns the names of all registered feeds.get_all_feedsReturns a list of all registered feeds. The elements are "XML::Feed" objects.get($name)Returns the "XML::Feed" object that corresponds to $name. Throws an exception if there is no feed that's named $name.refresh([$name])Forces the feed $name to be refreshed from the source. If $name is omitted, refreshes all registered feeds.DIAGNOSTICS%s does not reference any feedsThe URI you passed to "register" was not a feed, or did not "link" to any feeds.%s points to too many feedsThe URI you passed to "register" referenced more than one feed. If you want to register all the feeds, use the one argument form of "register" instead of the two argument form.No feed named %sThe feed that you requested does not exist. Try registering it first.AUTHORJonathan Rockway, "<jrockway at cpan.org>"BUGSPlease report any bugs or feature requests to "bug-catalyst-model-xml-feed at rt.cpan.org", or through the web interface at <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Catalyst-Model-XML-Feed>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.SUPPORTYou can find documentation for this module with the perldoc command.perldoc Catalyst::Model::XML::Feed You can also look for information at:
SEE ALSOXML::Feed and XML::Feed::EntryACKNOWLEDGEMENTSCOPYRIGHT & LICENSECopyright 2006 Jonathan Rockway, all rights reserved.This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Visit the GSP FreeBSD Man Page Interface. |