Module: Typhoeus::Utils

Defined in:
lib/typhoeus/utils.rb

Class Method Summary collapse

Class Method Details

.bytesize(string) ⇒ Object



27
28
29
# File 'lib/typhoeus/utils.rb', line 27

def bytesize(string)
  string.bytesize
end

.byteslice(string, *args) ⇒ Object



40
41
42
# File 'lib/typhoeus/utils.rb', line 40

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

.traversal_to_param_string(traversal, escape = true) ⇒ Object



17
18
19
20
21
# File 'lib/typhoeus/utils.rb', line 17

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.



12
13
14
# File 'lib/typhoeus/utils.rb', line 12

def traverse_params_hash(hash, result = nil, current_key = nil)
  result = ParamProcessor.traverse_params_hash hash, result, current_key
end