module Flowdock::Helpers

Public Instance Methods

blank?(var) click to toggle source
# File lib/flowdock.rb, line 13
def blank?(var)
  var.nil? || var.respond_to?(:length) && var.length == 0
end
handle_response(resp) click to toggle source
# File lib/flowdock.rb, line 17
def handle_response(resp)
  body = (resp.body.nil? || resp.body.strip.empty?) ? '{}' : resp.body

  json = MultiJson.decode(body)

  if resp.code == 404
    raise NotFoundError, "Flowdock API returned error:\nStatus: #{resp.code}\n Message: #{json["message"]}"
  end

  unless resp.code >= 200 && resp.code < 300
    errors = json["errors"].map {|k,v| "#{k}: #{v.join(',')}"}.join("\n") unless json["errors"].nil?
    raise ApiError, "Flowdock API returned error:\nStatus: #{resp.code}\n Message: #{json["message"]}\n Errors:\n#{errors}"
  end
  json
rescue MultiJson::DecodeError
  raise ApiError, "Flowdock API returned error:\nStatus: #{resp.code}\nBody: #{resp.body}"
end