module Riak::Util::Escape

Methods for escaping URL segments.

Public Instance Methods

escape(bucket_or_key) click to toggle source

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
maybe_escape(bucket_or_key) click to toggle source

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
maybe_unescape(bucket_or_key) click to toggle source

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
unescape(bucket_or_key) click to toggle source

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