diff options
| author | mo khan <mo.khan@gmail.com> | 2019-08-20 11:41:01 -0600 |
|---|---|---|
| committer | mo khan <mo.khan@gmail.com> | 2019-09-13 10:15:55 -0600 |
| commit | 3bbc78de120d41ff32e10206c4243a3698e7cb8d (patch) | |
| tree | b6e6a9c3bc3475611870de27d11f6ccc0221ab26 /lib/license | |
| parent | 202e9ab0f5698dcf135100d3b38d3bc8ee89cd56 (diff) | |
Pluck v1.1 report from https://gitlab.com/gitlab-org/security-products/license-management/merge_requests/50
Diffstat (limited to 'lib/license')
| -rw-r--r-- | lib/license/management/report.rb | 4 | ||||
| -rw-r--r-- | lib/license/management/report/v1.rb | 2 | ||||
| -rw-r--r-- | lib/license/management/report/v1_1.rb | 27 |
3 files changed, 31 insertions, 2 deletions
diff --git a/lib/license/management/report.rb b/lib/license/management/report.rb index 5ac41bb..9893862 100644 --- a/lib/license/management/report.rb +++ b/lib/license/management/report.rb @@ -2,6 +2,7 @@ require 'license/management/report/base' require 'license/management/report/v1' +require 'license/management/report/v1_1' module License module Management @@ -11,7 +12,8 @@ module License nil => V1, '' => V1, '1' => V1, - '1.0' => V1 + '1.0' => V1, + '1.1' => V1_1 }.freeze # This method overrides the method defined in `LicenseFinder::JsonReport` to diff --git a/lib/license/management/report/v1.rb b/lib/license/management/report/v1.rb index 5882f72..f1ba05e 100644 --- a/lib/license/management/report/v1.rb +++ b/lib/license/management/report/v1.rb @@ -71,7 +71,7 @@ module License { 'name' => license.name.split(/[\r\n]+/)[0], - 'url' => license.url + 'url' => license.url || '' } end diff --git a/lib/license/management/report/v1_1.rb b/lib/license/management/report/v1_1.rb new file mode 100644 index 0000000..1186e2a --- /dev/null +++ b/lib/license/management/report/v1_1.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +module License + module Management + module Report + class V1_1 < V1 + def to_h + { version: '1.1' }.merge(super) + end + + private + + def map_from_dependency(dependency) + licenses = dependency.licenses.sort_by(&:name).map do |license| + item = license_data(license) + { + name: item['name'], + url: item.fetch('url', '') + } + end + + { licenses: licenses }.merge(super) + end + end + end + end +end |
