diff options
author | Mario de la Ossa <mariodelaossa@gmail.com> | 2017-12-18 23:14:08 -0600 |
---|---|---|
committer | Mario de la Ossa <mariodelaossa@gmail.com> | 2017-12-18 23:18:23 -0600 |
commit | d02059ddf3fef105a8e835024b589d9eac2140f0 (patch) | |
tree | ae854ac277d736fd23532fc54e2c46ecee2c0fbc | |
parent | b03789395c59ce94c8bdb4e0f4806c8cd7705f46 (diff) | |
download | gitlab-ce-d02059ddf3fef105a8e835024b589d9eac2140f0.tar.gz |
BlobViewer::PackageJson - if private link to homepage
-rw-r--r-- | app/models/blob_viewer/package_json.rb | 12 | ||||
-rw-r--r-- | changelogs/unreleased/36020-private-npm-modules.yml | 2 | ||||
-rw-r--r-- | spec/models/blob_viewer/package_json_spec.rb | 7 |
3 files changed, 14 insertions, 7 deletions
diff --git a/app/models/blob_viewer/package_json.rb b/app/models/blob_viewer/package_json.rb index 6ce61e30d3d..46cd2f04f4d 100644 --- a/app/models/blob_viewer/package_json.rb +++ b/app/models/blob_viewer/package_json.rb @@ -21,9 +21,7 @@ module BlobViewer end def package_url - return nil if private? - - "https://www.npmjs.com/package/#{package_name}" + private? ? homepage : npm_url end private @@ -31,5 +29,13 @@ module BlobViewer def private? !!json_data['private'] end + + def homepage + json_data['homepage'] + end + + def npm_url + "https://www.npmjs.com/package/#{package_name}" + end end end diff --git a/changelogs/unreleased/36020-private-npm-modules.yml b/changelogs/unreleased/36020-private-npm-modules.yml index a0122e2b360..5c2585a602e 100644 --- a/changelogs/unreleased/36020-private-npm-modules.yml +++ b/changelogs/unreleased/36020-private-npm-modules.yml @@ -1,5 +1,5 @@ --- -title: Do not generate links for private NPM modules in blob view +title: Do not generate NPM links for private NPM modules in blob view merge_request: 16002 author: Mario de la Ossa type: added diff --git a/spec/models/blob_viewer/package_json_spec.rb b/spec/models/blob_viewer/package_json_spec.rb index 339d4e9e644..5ed2f4400bc 100644 --- a/spec/models/blob_viewer/package_json_spec.rb +++ b/spec/models/blob_viewer/package_json_spec.rb @@ -45,7 +45,8 @@ describe BlobViewer::PackageJson do { "name": "module-name", "version": "10.3.1", - "private": true + "private": true, + "homepage": "myawesomepackage.com" } SPEC end @@ -53,10 +54,10 @@ describe BlobViewer::PackageJson do subject { described_class.new(blob) } describe '#package_url' do - it 'returns nil' do + it 'returns homepage if any' do expect(subject).to receive(:prepare!) - expect(subject.package_url).to be_nil + expect(subject.package_url).to eq('myawesomepackage.com') end end |