module Pincers::Http::Utils

Constants

FORM_MULTIPART
FORM_URLENCODED
URI_PARSER

Public Instance Methods

encode_multipart(_pairs) click to toggle source
# File lib/pincers/http/utils.rb, line 16
def encode_multipart(_pairs)
  raise Pincers::MissingFeatureError.new :encode_multipart
end
encode_urlencoded(_pairs) click to toggle source
# File lib/pincers/http/utils.rb, line 11
def encode_urlencoded(_pairs)
  _pairs = hash_to_pairs _pairs if _pairs.is_a? Hash
  _pairs.map { |p| "#{p[0]}=#{CGI.escape(p[1])}" }.join '&'
end
hash_to_pairs(_hash) click to toggle source
# File lib/pincers/http/utils.rb, line 20
def hash_to_pairs(_hash)
  pair_recursive [], _hash
end
parse_uri(_url) click to toggle source
# File lib/pincers/http/utils.rb, line 24
def parse_uri(_url)
  URI_PARSER.parse _url
end

Private Instance Methods

pair_recursive(_pairs, _data, _prefix = nil) click to toggle source
# File lib/pincers/http/utils.rb, line 30
def pair_recursive(_pairs, _data, _prefix = nil)
  _data.each do |key, value|
    key = "#{_prefix}.#{key}" if _prefix
    case value
    when Hash
      pair_recursive _pairs, value, key
    when Array
      key = "#{key}[]"
      value.each { |item| _pairs << [key, item.to_s] }
    else
      _pairs << [key.to_s, value.to_s]
    end
  end
  _pairs
end