Module: Conjur::Escape::ClassMethods

Defined in:
lib/conjur/escape.rb

Instance Method Summary collapse

Instance Method Details

#fully_escape(str) ⇒ Object



24
25
26
27
# File 'lib/conjur/escape.rb', line 24

def fully_escape(str)
  require 'cgi'
  CGI.escape(str.to_s)
end

#path_escape(str) ⇒ Object



29
30
31
# File 'lib/conjur/escape.rb', line 29

def path_escape(str)
  path_or_query_escape str
end

#path_or_query_escape(str) ⇒ Object



37
38
39
40
41
42
43
44
# File 'lib/conjur/escape.rb', line 37

def path_or_query_escape(str)
  return "false" unless str
  str = str.id if str.respond_to?(:id)
  # Leave colons and forward slashes alone
  require 'uri'
  pattern = URI::PATTERN::UNRESERVED + ":\\/@"
  URI.escape(str.to_s, Regexp.new("[^#{pattern}]"))
end

#query_escape(str) ⇒ Object



33
34
35
# File 'lib/conjur/escape.rb', line 33

def query_escape(str)
  path_or_query_escape str
end