summaryrefslogtreecommitdiff
path: root/lib/Net/Riak/Role/PBC/Link.pm
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--lib/Net/Riak/Role/PBC/Link.pm35
1 files changed, 35 insertions, 0 deletions
diff --git a/lib/Net/Riak/Role/PBC/Link.pm b/lib/Net/Riak/Role/PBC/Link.pm
new file mode 100644
index 0000000..5e6a336
--- /dev/null
+++ b/lib/Net/Riak/Role/PBC/Link.pm
@@ -0,0 +1,35 @@
+package Net::Riak::Role::PBC::Link;
+use Moose::Role;
+use Net::Riak::Link;
+use Net::Riak::Bucket;
+
+sub _populate_links {
+ my ($self, $object, $links) = @_;
+
+ for my $link (@$links) {
+ my $l = Net::Riak::Link->new(
+ bucket => Net::Riak::Bucket->new(
+ name => $link->bucket,
+ client => $self
+ ),
+ key => $link->key,
+ tag => $link->tag
+ );
+ $object->add_link($l);
+ }
+}
+
+sub _links_for_message {
+ my ($self, $object) = @_;
+
+ return [
+ map { {
+ tag => $_->tag,
+ key => $_->key,
+ bucket => $_->bucket->name
+ }
+ } $object->all_links
+ ]
+}
+
+1;