summaryrefslogtreecommitdiff
path: root/lib/spandx/gitlab.rb
blob: 15df979c7fdae46c9d510039ad097f2b3d982992 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# frozen_string_literal: true

require 'spandx'
require 'spandx/gitlab/version'

module Spandx
  module Gitlab
    class Error < StandardError; end

    def self.root
      Pathname.new(File.dirname(__FILE__)).join('../..')
    end
  end

  module Core
    class Report
      def to_h
        { version: '2.0', licenses: [], dependencies: [] }.tap do |report|
          each do |dependency|
            dependency.licenses.each do |license|
              report[:licenses].push(id: license.id, name: license.name, url: license.url)
            end
            report[:dependencies].push(name: dependency.name, licenses: dependency.licenses.map(&:id))
          end
        end
      end
    end
  end
end