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 )