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