class GiantClient::AbstractAdapter

Public Instance Methods

delete(opts) click to toggle source
# File lib/giant_client/abstract_adapter.rb, line 62
def delete(opts)
  request(:delete, opts)
end
encode_query(query) click to toggle source
# File lib/giant_client/abstract_adapter.rb, line 18
def encode_query(query)
  query = stringify_query(query)
  query = prepend_question_mark(query) unless query == ''
  query
end
get(opts) click to toggle source
# File lib/giant_client/abstract_adapter.rb, line 50
def get(opts)
  request(:get, opts)
end
head(opts) click to toggle source
# File lib/giant_client/abstract_adapter.rb, line 66
def head(opts)
  request(:head, opts)
end
normalize_header(header) click to toggle source
# File lib/giant_client/abstract_adapter.rb, line 46
def normalize_header(header)
  header.split('-').map{|h| h.capitalize}.join('-')
end
normalize_header_hash(headers) click to toggle source
# File lib/giant_client/abstract_adapter.rb, line 37
def normalize_header_hash(headers)
  normalized_headers = {}
  headers.each do |header, value|
    normalized = normalize_header(header)
    normalized_headers[normalized] = value
  end
  normalized_headers
end
post(opts) click to toggle source
# File lib/giant_client/abstract_adapter.rb, line 54
def post(opts)
  request(:post, opts)
end
prepend_question_mark(str) click to toggle source
# File lib/giant_client/abstract_adapter.rb, line 33
def prepend_question_mark(str)
  "?#{str}"
end
put(opts) click to toggle source
# File lib/giant_client/abstract_adapter.rb, line 58
def put(opts)
  request(:put, opts)
end
stringify_query(query) click to toggle source
# File lib/giant_client/abstract_adapter.rb, line 24
def stringify_query(query)
  if Hash === query
    query = URI.encode_www_form(query)
  elsif query.nil?
    query = ''
  end
  query
end
url_from_opts(opts) click to toggle source
# File lib/giant_client/abstract_adapter.rb, line 4
def url_from_opts(opts)
  query = encode_query(opts[:query])

  if opts[:ssl]
    scheme = 'https://'
    port = opts[:port] == 443 ? '' : ":#{opts[:port]}"
  else
    scheme = 'http://'
    port = opts[:port] == 80 ? '' : ":#{opts[:port]}"
  end

  "#{scheme}#{opts[:host]}#{port}#{opts[:path]}#{query}"
end