summaryrefslogtreecommitdiff
path: root/lib/Net/Riak/Link.pm
diff options
context:
space:
mode:
Diffstat (limited to '')
-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;