lib/strava/models/upload.rb in strava-ruby-client-1.1.0 vs lib/strava/models/upload.rb in strava-ruby-client-2.0.0

- old
+ new

@@ -6,8 +6,42 @@ property 'id' property 'external_id' property 'error' property 'status' property 'activity_id' + + def processing? + validate! + activity_id.nil? + end + + def processed? + !processing? + end + + private + + def validate! + raise_when_background_job_failed! + end + + def raise_when_background_job_failed! + response = http_response.response + return unless response_contains_error_message?(response) + + raise Strava::Errors::UploadError, response_values(response) + end + + def response_contains_error_message?(response) + response.status == 200 && response.body['error'].present? + end + + def response_values(response) + { + status: response.status, + headers: response.headers, + body: response.body + } + end end end end