summary refs log tree commit diff
path: root/lib/Net/Riak/Bucket.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Net/Riak/Bucket.pm')
-rw-r--r--lib/Net/Riak/Bucket.pm27
1 files changed, 4 insertions, 23 deletions
diff --git a/lib/Net/Riak/Bucket.pm b/lib/Net/Riak/Bucket.pm
index 6c848f9..525fc39 100644
--- a/lib/Net/Riak/Bucket.pm
+++ b/lib/Net/Riak/Bucket.pm
@@ -6,39 +6,20 @@ use JSON;
 use Moose;
 use Net::Riak::Object;
 
+with 'Net::Riak::Role::Replica' => {keys => [qw/r w dw/]};
+with 'Net::Riak::Role::Base' =>
+  {classes => [{name => 'client', required => 1}]};
+
 has name => (
     is       => 'ro',
     isa      => 'Str',
     required => 1
 );
-has client => (
-    is       => 'ro',
-    isa      => 'Net::Riak::Client',
-    required => 1
-);
 has content_type => (
     is      => 'rw',
     isa     => 'Str',
     default => 'application/json'
 );
-has r => (
-    is      => 'rw',
-    isa     => 'Int',
-    lazy    => 1,
-    default => sub { (shift)->client->r }
-);
-has w => (
-    is      => 'rw',
-    isa     => 'Int',
-    lazy    => 1,
-    default => sub { (shift)->client->w }
-);
-has dw => (
-    is      => 'rw',
-    isa     => 'Int',
-    lazy    => 1,
-    default => sub { (shift)->client->dw }
-);
 
 sub n_val {
     my $self = shift;