Catalyst-Model-NetBlogger
view release on metacpan or search on metacpan
lib/Catalyst/Model/NetBlogger.pm view on Meta::CPAN
# $Id: /local/CPAN/Catalyst-Model-NetBlogger/lib/Catalyst/Model/NetBlogger.pm 1392 2008-03-08T01:58:08.842672Z claco $
package Catalyst::Model::NetBlogger;
use strict;
use warnings;
use Net::Blogger;
use NEXT;
use base 'Catalyst::Base';
our $VERSION = '0.04001';
our $AUTOLOAD;
__PACKAGE__->config(
engine => 'blogger'
);
sub new {
my ($self, $c) = @_;
$self = $self->NEXT::new(@_);
my $netblogger = Net::Blogger->new({
engine => $self->config->{'engine'},
appkey => $self->config->{'appkey'},
blogid => $self->config->{'blogid'},
username => $self->config->{'username'},
password => $self->config->{'password'}
});
$netblogger->Proxy($self->config->{'proxy'});
if ($netblogger->can('Uri')) {
$netblogger->Uri($self->config->{'uri'});
};
$self->config->{'netblogger'} = $netblogger;
return $self;
};
sub AUTOLOAD {
my $self = shift;
return if $AUTOLOAD =~ /::DESTROY$/;
$AUTOLOAD =~ s/^.*:://;
$self->config->{'netblogger'}->$AUTOLOAD(@_);
};
1;
__END__
=head1 NAME
Catalyst::Model::NetBlogger - Catalyst Model to post and retrieve blog entries using Net::Blogger
=head1 SYNOPSIS
# Model
__PACKAGE__->config(
engine => 'movabletype',
blogid => 1,
username => 'login',
password => 'apipassword',
proxy => 'http://example.com/mt/mt-xmlrpc.cgi'
);
# Controller
sub default : Private {
my ($self, $c) = @_;
{
local $^W = 0;
my ($return, @entries) = $c->model('Blog')->metaWeblog->getRecentPosts({numberOfPosts => 5});
if ($return) {
$c->stash->{'entries'} = \@entries;
};
};
$c->stash->{'template'} = 'blog.tt';
};
=head1 DESCRIPTION
This model class uses Net::Blogger to post and retrieve blog entries to various
web log engines XMLRPC API.
=head1 CONFIG
The following configuration options are available. They are taken directly from
L<Net::Blogger>:
=head2 engine
The name of the blog engine to use. This defaults to 'blogger',
=head2 proxy
The url of the remote XMLRPC listener to connect to.
=head2 blogid
The id of the blog to post or retrieve entries to.
=head2 username
The username used to log into the specified blog.
=head2 password
The password used to log into the specified blog.
=head2 appkey
The magic appkey used when connecting to Blogger blogs.
=head2 uri
The URI to post to at the proxy specified above.
=head1 METHODS
See L<Net::Blogger> for the available methods.
=head1 SEE ALSO
L<Catalyst::Manual>, L<Catalyst::Helper>, L<Net::Blogger>
=head1 AUTHOR
Christopher H. Laco
CPAN ID: CLACO
claco@chrislaco.com
http://today.icantfocus.com/blog/
( run in 0.588 second using v1.01-cache-2.11-cpan-5735350b133 )