blob: 5ac41bb6890eadb6ff69100066ce2ac99d30e23b (
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
|
# frozen_string_literal: true
require 'license/management/report/base'
require 'license/management/report/v1'
module License
module Management
module Report
DEFAULT_VERSION = '1'
VERSIONS = {
nil => V1,
'' => V1,
'1' => V1,
'1.0' => V1
}.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
|