module Riak::Util::Escape
Methods for escaping URL segments.
Public Instance Methods
Escapes bucket or key names that may contain slashes for use in URLs. @param [String] bucket_or_key the bucket or key name @return [String] the escaped path segment
# File lib/riak/util/escape.rb, line 53 def escape(bucket_or_key) if Riak.escaper == URI Riak.escaper.escape(bucket_or_key.to_s).gsub(/[ \+\/]/, { " " => "%20", "+" => "%2B", "/" => "%2F"}) else #CGI Riak.escaper.escape(bucket_or_key.to_s).gsub(/[\+\/]/, { "+" => "%20", "/" => "%2F"}) end end
Conditionally escapes buckets and keys depending on whether Riak
is configured to decode them. This is used in situations where the bucket or key is not part of a URL, but would need to be escaped on Riak
0.14 and earlier so that the name matches. @param [String] bucket_or_key the bucket or key name @return [String] the escaped path segment
# File lib/riak/util/escape.rb, line 46 def maybe_escape(bucket_or_key) Riak.url_decoding ? bucket_or_key : escape(bucket_or_key) end
Conditionally unescapes buckets and keys depending on whether Riak
is configured to decode them. This is used in situations where the bucket or key is not part of a URL, but would need to be escaped on Riak
0.14 and earlier so that the name matches. @param [String] bucket_or_key the escaped bucket or key name @return [String] the unescaped path segment
# File lib/riak/util/escape.rb, line 68 def maybe_unescape(bucket_or_key) Riak.url_decoding ? bucket_or_key : unescape(bucket_or_key) end
Unescapes bucket or key names in URLs. @param [String] bucket_or_key the bucket or key name @return [String] the unescaped name
# File lib/riak/util/escape.rb, line 75 def unescape(bucket_or_key) Riak.escaper.unescape(bucket_or_key.to_s) end