summary refs log tree commit diff
path: root/lib/Net/Riak/Link.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Net/Riak/Link.pm')
-rw-r--r--lib/Net/Riak/Link.pm42
1 files changed, 42 insertions, 0 deletions
diff --git a/lib/Net/Riak/Link.pm b/lib/Net/Riak/Link.pm
new file mode 100644
index 0000000..43bace6
--- /dev/null
+++ b/lib/Net/Riak/Link.pm
@@ -0,0 +1,42 @@
+package Net::Riak::Link;
+
+# ABSTRACT: the riaklink object represents a link from one Riak object to another
+
+use Moose;
+
+has client => (
+    is       => 'ro',
+    isa      => 'Net::Riak',
+    required => 0,
+);
+has bucket => (
+    is       => 'ro',
+    isa      => 'Net::Riak::Bucket',
+    required => 1,
+);
+has key => (
+    is      => 'rw',
+    isa     => 'Str',
+    lazy    => 1,
+    default => '_',
+);
+has tag => (
+    is      => 'rw',
+    isa     => 'Str',
+    lazy    => 1,
+    default => '_',
+);
+
+sub to_link_header {
+    my ($self, $client) = @_;
+
+    my $link = '';
+    $link .= '</';
+    $link .= $client->prefix . '/';
+    $link .= $self->bucket . '/';
+    $link .= $self->key . '>; riaktag="';
+    $link .= self->tag . '"';
+    return $link;
+}
+
+1;