lib/travis/client/session.rb in travis-1.5.1 vs lib/travis/client/session.rb in travis-1.5.2
- old
+ new
@@ -192,13 +192,17 @@
entity.update_attributes(data)
entity
end
def handle_error(e)
- message = e.response[:body].to_str rescue e.message
klass = Travis::Client::NotFound if e.is_a? Faraday::Error::ResourceNotFound
klass ||= Travis::Client::Error
- raise klass, message, e.backtrace
+ raise klass, error_message(e), e.backtrace
+ end
+
+ def error_message(e)
+ message = e.response[:body].to_str rescue e.message
+ JSON.parse(message).fetch('error').fetch('message') rescue message
end
def reset_entities
subcaches do |subcache|
subcache[:id].each_value { |e| e.attributes.clear } if subcache.include? :id