Module: Typhoeus::Utils
- Defined in:
- lib/typhoeus/utils.rb
Class Method Summary collapse
- .bytesize(string) ⇒ Object
- .byteslice(string, *args) ⇒ Object
-
.escape(s) ⇒ Object
Taken from Rack::Utils, 1.2.1 to remove Rack dependency.
- .escape_params(params) ⇒ Object
- .traversal_to_param_string(traversal, escape = true) ⇒ Object
-
.traverse_params_hash(hash, result = nil, current_key = nil) ⇒ Object
Params are NOT escaped.
Class Method Details
.bytesize(string) ⇒ Object
35 36 37 |
# File 'lib/typhoeus/utils.rb', line 35 def bytesize(string) string.bytesize end |
.byteslice(string, *args) ⇒ Object
48 49 50 |
# File 'lib/typhoeus/utils.rb', line 48 def byteslice(string, *args) string.byteslice(*args) end |
.escape(s) ⇒ Object
Taken from Rack::Utils, 1.2.1 to remove Rack dependency.
4 5 6 7 8 |
# File 'lib/typhoeus/utils.rb', line 4 def escape(s) s.to_s.gsub(/([^ a-zA-Z0-9_.-]+)/u) { '%'+$1.unpack('H2'*bytesize($1)).join('%').upcase }.tr(' ', '+') end |
.escape_params(params) ⇒ Object
11 12 13 14 15 16 |
# File 'lib/typhoeus/utils.rb', line 11 def escape_params(params) traverse_params_hash(params)[:params].inject({}) do |memo, (k, v)| memo[escape(k)] = escape(v) memo end end |
.traversal_to_param_string(traversal, escape = true) ⇒ Object
25 26 27 28 29 |
# File 'lib/typhoeus/utils.rb', line 25 def traversal_to_param_string(traversal, escape = true) traversal[:params].collect { |param| escape ? "#{Typhoeus::Utils.escape(param[0])}=#{Typhoeus::Utils.escape(param[1])}" : "#{param[0]}=#{param[1]}" }.join('&') end |
.traverse_params_hash(hash, result = nil, current_key = nil) ⇒ Object
Params are NOT escaped.
20 21 22 |
# File 'lib/typhoeus/utils.rb', line 20 def traverse_params_hash(hash, result = nil, current_key = nil) result = ParamProcessor.traverse_params_hash hash, result, current_key end |