WWW-Phanfare-Class
view release on metacpan or search on metacpan
lib/WWW/Phanfare/Class.pm view on Meta::CPAN
package WWW::Phanfare::Class;
use Moose;
use MooseX::Method::Signatures;
use WWW::Phanfare::Class::CacheAPI;
use WWW::Phanfare::API;
use WWW::Phanfare::Class::Account;
has 'api_key' => ( is=>'ro', isa=>'Str', required=>1 );
has 'private_key' => ( is=>'ro', isa=>'Str', required=>1 );
has 'email_address' => ( is=>'ro', isa=>'Str' );
has 'password' => ( is=>'ro', isa=>'Str' );
sub _childclass { 'WWW::Phanfare::Class::Account' }
# Initialize account
has 'account' => (
is => 'ro',
isa => 'WWW::Phanfare::Class::Account',
lazy_build => 1,
);
lib/WWW/Phanfare/Class.pm view on Meta::CPAN
isa => 'WWW::Phanfare::API',
is => 'rw',
lazy_build => 1,
);
sub _build_api {
my $self = shift;
# Create an API Agent
WWW::Phanfare::Class::CacheAPI->new(
api_key => $self->api_key,
private_key => $self->private_key,
);
}
# Get a subnode, by name of name.id
#
method get ( Str $name ) {
$self->account->list;
}
lib/WWW/Phanfare/Class.pm view on Meta::CPAN
=cut
our $VERSION = '0.03';
=head1 SYNOPSIS
use WWW::Phanfare::Class;
$class = WWW::Phanfare::Class->new(
api_key => 'secret',
private_key => 'secret',
email_address => 's@c.et',
password => 'secret',
);
# Site Name
my($sitename) = $class->account->names;
# Site Object
my $site = $class->account->$sitename;
if ( $ENV{SITE} ) {
# Create test object on live site
my %config;
eval '
use Config::General;
use File::HomeDir;
use WWW::Phanfare::API;
my $rcfile = File::HomeDir->my_home . "/.phanfarerc";
%config = Config::General->new( $rcfile )->getall;
die unless $config{api_key}
and $config{private_key}
and $config{email_address}
and $config{password};
';
plan skip_all => "Local config not found: $@" if $@;
$class = new_ok( 'WWW::Phanfare::Class' => [ %config ] );
} else {
# Create an fake test object
$class = new_ok( 'WWW::Phanfare::Class' => [
api_key => 'secret',
private_key => 'secret',
email_address => 's@c.et',
password => 'secret',
] );
$class->api( FakeAgent->new() );
}
isa_ok( $class, 'WWW::Phanfare::Class' );
# Verify there is account
ok( my $account = $class->account(), "Class has account" );
( run in 0.240 second using v1.01-cache-2.11-cpan-a5abf4f5562 )