summaryrefslogtreecommitdiff
path: root/lib/Net/Riak/Object.pm
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--lib/Net/Riak/Object.pm32
1 files changed, 4 insertions, 28 deletions
diff --git a/lib/Net/Riak/Object.pm b/lib/Net/Riak/Object.pm
index aee4b78..04f40d2 100644
--- a/lib/Net/Riak/Object.pm
+++ b/lib/Net/Riak/Object.pm
@@ -8,44 +8,20 @@ use Moose;
use Scalar::Util;
use Net::Riak::Link;
+with 'Net::Riak::Role::Replica' => {keys => [qw/r w dw/]};
+with 'Net::Riak::Role::Base' => {classes =>
+ [{name => 'bucket', required => 1}, {name => 'client', required => 1}]};
+
has key => (
is => 'rw',
isa => 'Str',
required => 1
);
-has client => (
- is => 'rw',
- isa => 'Net::Riak::Client',
- required => 1
-);
-has bucket => (
- is => 'rw',
- isa => 'Net::Riak::Bucket',
- required => 1
-);
has data => (
is => 'rw',
isa => 'Any',
clearer => '_clear_data'
);
-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 }
-);
has content_type => (
is => 'rw',
isa => 'Str',