diff options
| -rw-r--r-- | lib/license/management/versions/v1.rb | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/license/management/versions/v1.rb b/lib/license/management/versions/v1.rb index abaa1d8..6eb3f36 100644 --- a/lib/license/management/versions/v1.rb +++ b/lib/license/management/versions/v1.rb @@ -28,11 +28,14 @@ module License # this method chooses one of the urls. # to maintain backwards compatibility this bug has been carried forward. def license_for(dependency) - name = join_license_names(dependency.licenses) + license = { name: join_license_names(dependency.licenses) } + urls = dependency.licenses.map(&:url).reject { |x| blank?(x) }.uniq.sort log_info("multiple urls detected: #{urls.inspect}") if urls.size > 1 url = urls[0] || data_for(dependency.licenses.first)['url'] - blank?(url) ? { name: name } : { name: name, url: url } + + license.merge(url: url) if present?(url) + license end def join_license_names(licenses) |
