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
-
#escape(bucket_or_key) ⇒ String
Escapes bucket or key names that may contain slashes for use in URLs.
-
#maybe_escape(bucket_or_key) ⇒ String
Conditionally escapes buckets and keys depending on whether Riak is configured to decode them.
-
#maybe_unescape(bucket_or_key) ⇒ String
Conditionally unescapes buckets and keys depending on whether Riak is configured to decode them.
-
#unescape(bucket_or_key) ⇒ String
Unescapes bucket or key names in URLs.
Instance Method Details
#escape(bucket_or_key) ⇒ String
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", "+" => "%2B", "/" => "%2F"}) else #CGI Riak.escaper.escape(bucket_or_key.to_s).gsub(/[\+\/]/, { "+" => "%20", "/" => "%2F"}) end end |
#maybe_escape(bucket_or_key) ⇒ String
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 |
#maybe_unescape(bucket_or_key) ⇒ String
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 |