blob: aa3111d0bf662bb198af4487c3966d69c22ee2b7 (
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
|
# 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'
module License
module Management
module Report
DEFAULT_VERSION = '1'
VERSIONS = {
nil => V1,
'' => V1,
'1' => V1,
'1.0' => V1,
'1.1' => V1_1,
'2' => V2,
'2.0' => V2
}.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) + "\n"
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
|