module Webspicy::Web::Client::Support

Constants

NONE

Public Instance Methods

debug(what, value = NONE) click to toggle source
# File lib/webspicy/web/client/support.rb, line 28
def debug(what, value = NONE)
  return Webspicy.debug("  #{what}") if value == NONE
  Webspicy.debug("  #{what}: " + value_to_s(value))
end
debug_response(response) click to toggle source
# File lib/webspicy/web/client/support.rb, line 20
def debug_response(response)
  debug(colorize_highlight("."))
  debug("  Res status", status_to_s(@last_response.status))
  debug("  Res headers", json_pretty(last_response.headers.to_h))
  debug("  Res body", response_body_to_s(last_response))
  Webspicy.debug("")
end
info_request(kind, url, params, headers, body) click to toggle source
# File lib/webspicy/web/client/support.rb, line 13
def info_request(kind, url, params, headers, body)
  Webspicy.info(colorize_highlight("~> #{kind} #{url}"))
  debug("  Req params", json_pretty(params)) if params
  debug("  Req headers", json_pretty(headers)) if headers
  debug("  Req body", request_body_to_s(body)) if body
end
json_pretty(s) click to toggle source
# File lib/webspicy/web/client/support.rb, line 58
def json_pretty(s)
  JSON.pretty_generate(s)
end
querystring_params(params) click to toggle source
# File lib/webspicy/web/client/support.rb, line 9
def querystring_params(params)
  Hash[params.each_pair.map{|k,v| [k.to_s,v.to_s] }]
end
request_body_to_s(body) click to toggle source
# File lib/webspicy/web/client/support.rb, line 33
def request_body_to_s(body)
  body = body.to_info if body.is_a?(Webspicy::FileUpload)
  json_pretty(body)
end
response_body_to_s(response) click to toggle source
# File lib/webspicy/web/client/support.rb, line 38
def response_body_to_s(response)
  case response.content_type.to_s
  when /json/
    json_pretty(JSON.load(response.body))
  else
    response.body.to_s
  end
end
status_to_s(status) click to toggle source
# File lib/webspicy/web/client/support.rb, line 51
def status_to_s(status)
  case status
  when 0 ... 400 then colorize_success(status.to_s)
  else colorize_error(status.to_s)
  end
end
value_to_s(value) click to toggle source
# File lib/webspicy/web/client/support.rb, line 47
def value_to_s(value)
  value.to_s.gsub(/\n/, "\n      ")
end