From cba8a0441fdcd26dd33a55bcdd82b94577e767e2 Mon Sep 17 00:00:00 2001 From: Douman Date: Wed, 20 Dec 2017 01:15:57 +0300 Subject: [PATCH] Store original link to documentation. If original link is missing then attribute 'documentation' is updated with actual link to docs.rs --- app/models/crate.js | 1 + app/routes/crate/version.js | 3 +-- app/serializers/crate.js | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/models/crate.js b/app/models/crate.js index 9bd5893ad33..bdf42228631 100644 --- a/app/models/crate.js +++ b/app/models/crate.js @@ -15,6 +15,7 @@ export default DS.Model.extend({ mailing_list: DS.attr('string'), issues: DS.attr('string'), documentation: DS.attr('string'), + originalDocumentation: DS.attr('string'), repository: DS.attr('string'), exact_match: DS.attr('boolean'), diff --git a/app/routes/crate/version.js b/app/routes/crate/version.js index b6e7b865c4a..7bbd15fe7ed 100644 --- a/app/routes/crate/version.js +++ b/app/routes/crate/version.js @@ -41,8 +41,7 @@ export default Route.extend({ }; const fetchCrateDocumentation = () => { - if (!crate.get('documentation') || - crate.get('documentation').substr(0, 16) === 'https://docs.rs/') { + if (!crate.get('originalDocumentation')) { let crateName = crate.get('name'); let crateVersion = params.version_num; this.get('ajax').request(`https://docs.rs/crate/${crateName}/${crateVersion}/builds.json`) diff --git a/app/serializers/crate.js b/app/serializers/crate.js index 6af685bdecb..04c8ea08b66 100644 --- a/app/serializers/crate.js +++ b/app/serializers/crate.js @@ -2,6 +2,9 @@ import DS from 'ember-data'; export default DS.RESTSerializer.extend({ isNewSerializerAPI: true, + attrs: { + originalDocumentation: 'documentation' + }, extractRelationships(modelClass, resourceHash) { if (resourceHash.versions == null) {