blob: a3dbf2073367b888569d9682cabf299438c0b800 (
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
30
31
32
33
34
35
36
37
38
39
40
41
|
# frozen_string_literal: true
require 'license/management/report/base'
require 'license/management/report/v1'
require 'license/management/report/v1_1'
require 'license/management/report/v2'
require 'license/management/report/v2_1'
module License
module Management
module Report
DEFAULT_VERSION = '2.0'
VERSIONS = {
nil => V1,
'' => V1,
'1' => V1,
'1.0' => V1,
'1.1' => V1_1,
'2' => V2_1,
'2.0' => V2,
'2.1' => V2_1
}.freeze
# This method overrides the method defined in `LicenseFinder::JsonReport` to
# allow us to generate a custom json report.
def to_s
JSON.pretty_generate(version_for(report_version).to_h)
end
private
def report_version
ENV.fetch('LM_REPORT_VERSION', DEFAULT_VERSION)
end
def version_for(version)
VERSIONS.fetch(version.to_s).new(dependencies)
end
end
end
end
|