module WebStub::URI

Public Class Methods

decode_www_form(str) click to toggle source
# File lib/webstub/uri.rb, line 3
def self.decode_www_form(str)
  str.split("&").inject({}) do |hash, component|
    key, value = component.split("=", 2)
    hash[decode_www_form_component(key)] = decode_www_form_component(value)

    hash
  end
end
decode_www_form_component(str) click to toggle source
# File lib/webstub/uri.rb, line 12
def self.decode_www_form_component(str)
  str.gsub("+", " ").stringByReplacingPercentEscapesUsingEncoding(NSUTF8StringEncoding)
end
split(str) click to toggle source
# File lib/webstub/uri.rb, line 16
def self.split(str)
  url = NSURL.URLWithString(str)

  scheme = url.scheme
  user = url.user
  password = url.password
  hostname = url.host
  port = url.port
  path = url.path
  query = url.query
  fragment = url.fragment

  user_info = nil
  if user || password
    user_info = "#{user}:#{password}"
  end

  [scheme, user_info, hostname, port, path, query, fragment]
end