Module: Riak::Util::Escape

Included in:
Client, Client::Node, Client::ProtobuffsBackend, Link, MapReduce, RObject, RObject, WalkSpec
Defined in:
lib/riak/util/escape.rb

Overview

Methods for escaping URL segments.

Instance Method Summary (collapse)

Instance Method Details

- (String) escape(bucket_or_key)

Escapes bucket or key names that may contain slashes for use in URLs.



53
54
55
56
57
58
59
# 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").gsub("+", "%2B").gsub('/', "%2F")
  else #CGI
    Riak.escaper.escape(bucket_or_key.to_s).gsub("+", "%20").gsub('/', "%2F")
  end
end

- (String) maybe_escape(bucket_or_key)

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.



46
47
48
# 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

- (String) maybe_unescape(bucket_or_key)

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.



68
69
70
# 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

- (String) unescape(bucket_or_key)

Unescapes bucket or key names in URLs.



75
76
77
# File 'lib/riak/util/escape.rb', line 75

def unescape(bucket_or_key)
  Riak.escaper.unescape(bucket_or_key.to_s)
end