module Stretcher::Util

Public Class Methods

clean_params(params={}) click to toggle source
# File lib/stretcher/util.rb, line 23
def self.clean_params params={}
  return unless params
  clean_params = {}
  params.each do |key, value|
    clean_params[key] = value.is_a?(Array) ? value.join(',') : value
  end
  clean_params
end
curl_format(req) click to toggle source

cURL formats a Faraday req. Useful for logging

# File lib/stretcher/util.rb, line 5
def self.curl_format(req)
  body = "-d '#{req.body.is_a?(Hash) ? MultiJson.dump(req.body) : req.body}'" if req.body
  headers = req.headers.map {|name, value| "'-H #{name}: #{value}'" }.sort.join(' ')
  method = req.method.to_s.upcase
  url = Util.qurl(req.path,req.params)
  
  ["curl -X#{method}", "'" + url + "'", body, headers].compact.join(' ')  
end
querify(hash) click to toggle source
# File lib/stretcher/util.rb, line 19
def self.querify(hash)
  hash.map {|k,v| "#{k}=#{v}"}.join('&')
end
qurl(url, query_opts=nil) click to toggle source

Formats a url + query opts

# File lib/stretcher/util.rb, line 15
def self.qurl(url, query_opts=nil)
  query_opts && !query_opts.empty? ? "#{url}?#{querify(query_opts)}" : url
end