lib/fulfil_api/resource.rb in fulfil_api-0.1.0 vs lib/fulfil_api/resource.rb in fulfil_api-0.1.1
- old
+ new
@@ -70,7 +70,20 @@
end
private
attr_reader :model_name
+
+ def handle_exception(exception) # rubocop:disable Metrics/AbcSize
+ case (error = JSON.parse(exception.details[:response_body]).deep_symbolize_keys!)
+ in { type: "UserError" }
+ errors.add(code: error[:code], type: :user, message: error[:message])
+ in { code: Integer, name: String, description: String }
+ errors.add(code: error[:code], type: :authorization, message: error[:description])
+ else
+ errors.add(code: exception.details[:response_status], type: :system, message: exception.details[:response_body])
+ end
+
+ self
+ end
end
end