Catalyst-Model-Riak
view release on metacpan or search on metacpan
lib/Catalyst/Model/Riak.pm view on Meta::CPAN
return $conn;
}
sub bucket {
my($self, $data) = @_;
if ( defined($data) ) {
$self->container($self->client->bucket($data));
}
return $self->container;
}
sub buckets {
my($self) = @_;
return $self->client->all_buckets;
}
sub create {
my($self, $data) = @_;
if ( defined($data->{key}) && defined($data->{value}) )
{
my $object = $self->bucket->new_object($data->{key}, $data->{value});
return $object->store;
}
}
sub delete {
my($self, $data) = @_;
if ( defined($data->{key}) ) {
my $object = $self->get($data);
if ( defined($object) ) {
return $object->delete;
}
}
}
sub get {
my($self, $data) = @_;
if ( defined($data->{key}) ) {
my $object = $self->bucket->get($data->{key});
if ( $object->exists ) {
$self->object( $object );
}
}
return $self->object;
}
sub read {
my($self, $data) = @_;
return $self->get($data);
}
sub update {
my($self, $data) = @_;
if ( defined($data->{key}) ) {
my $object = $self->get({ key => $data->{key} });
if ( defined($object) ) {
$object->data($data->{value});
return $object->store($self->w, $self->dw);
}
}
}
sub links {
my($self, $data) = @_;
if ( defined($data) && defined($data->{key}) )
{
my $object = $self->get($data->{key});
if ( defined($object) )
{
return $object->links();
}
}
}
sub _dw_set
{
my($self, $nr) = @_;
return $self->client->client->dw($nr);
}
sub _w_set
{
my($self, $nr) = @_;
return $self->client->client->w($nr);
}
sub _r_set
{
my($self, $nr) = @_;
return $self->client->client->r($nr);
}
1;
__END__
=pod
=head1 NAME
Catalyst::Model::Riak - Basho/Riak model class for Catalyst
=head1 VERSION
version 0.01
=head1 SYNOPSYS
# Use this to create a new model
script/myapp_create.pl model ModelName Riak http:/192.168.0.1:8089 900
( run in 0.853 second using v1.01-cache-2.11-cpan-e93a5daba3e )