lib/riak/link.rb in ripple-0.5.0 vs lib/riak/link.rb in ripple-0.5.1
- old
+ new
@@ -33,10 +33,20 @@
def initialize(url, rel)
@url, @rel = url, rel
end
+ # @return [String] bucket_name, if the Link url is a known Riak link ("/raw/<bucket>/<key>")
+ def bucket
+ $1 if url =~ %r{/raw/([^/]+)/?}
+ end
+
+ # @return [String] key, if the Link url is a known Riak link ("/raw/<bucket>/<key>")
+ def key
+ $1 if url =~ %r{/raw/[^/]+/([^/]+)/?}
+ end
+
def inspect; to_s; end
def to_s
%Q[<#{@url}>; riaktag="#{@rel}"]
end
@@ -44,11 +54,10 @@
def ==(other)
other.is_a?(Link) && url == other.url && rel == other.rel
end
def to_walk_spec
- bucket, object = $1, $2 if @url =~ %r{/raw/([^/]+)/([^/]+)/?}
- raise t("bucket_link_conversion") if @rel == "up" || object.nil?
+ raise t("bucket_link_conversion") if @rel == "up" || key.nil?
WalkSpec.new(:bucket => bucket, :tag => @rel)
end
end
end