lib/emites/response.rb in emites-client-0.1.1 vs lib/emites/response.rb in emites-client-0.1.2

- old
+ new

@@ -5,34 +5,39 @@ RequestError = Class.new(Exception) class Response < SimpleDelegator def resolve!(&block) - if success? || redirected? + timeout! if timed_out? + if(success? || redirected?) block_given? ? yield(self) : self - elsif timed_out? - timeout! else error! end end def redirected? - response_code && response_code >= 300 && response_code < 400 + (300..308).include?(self.code) end + def parsed_body + MultiJson.load(body) + rescue MultiJson::ParseError + {} + end + private def timeout! raise RequestTimeout end def error! raise RequestError.new( code: code, message: status_message, - body: (MultiJson.load(body) rescue {}) + body: parsed_body ) end end -end \ No newline at end of file +end