# frozen_string_literal: true module License module Management module JsonReport DEFAULT_VERSION = '1' VERSIONS = { nil => ::License::Management::Versions::V1, '' => ::License::Management::Versions::V1, '1' => ::License::Management::Versions::V1, '1.0' => ::License::Management::Versions::V1 }.freeze # This method overrides the method defined in `License::Management::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