class Licensed::Reporters::YamlReporter

Public Instance Methods

end_report_app(app, report) click to toggle source

Add source report information to the app report hash

app - An application configuration report - A report object containing information about the app evaluation

# File lib/licensed/reporters/yaml_reporter.rb, line 18
def end_report_app(app, report)
  report["sources"] = report.reports.map(&:to_h) if report.reports.any?
end
end_report_command(command, report) click to toggle source

Report all information from the command run to the shell as a YAML object

command - The command being run report - A report object containing information about the command run

# File lib/licensed/reporters/yaml_reporter.rb, line 9
def end_report_command(command, report)
  report["apps"] = report.reports.map(&:to_h) if report.reports.any?
  shell.info sanitize(report.to_h).to_yaml
end
end_report_source(source, report) click to toggle source

Add dependency report information to the source report hash

source - A dependency source enumerator report - A report object containing information about the source evaluation

# File lib/licensed/reporters/yaml_reporter.rb, line 26
def end_report_source(source, report)
  report["dependencies"] = report.reports.map(&:to_h) if report.reports.any?
end
sanitize(object) click to toggle source
# File lib/licensed/reporters/yaml_reporter.rb, line 30
def sanitize(object)
  case object
  when String, TrueClass, FalseClass, Numeric
    object
  when Array
    object.compact.map { |item| sanitize(item) }
  when Hash
    object.reject { |_, v| v.nil? }
          .map { |k, v| [k.to_s, sanitize(v)] }
          .to_h
  else
    object.to_s
  end
end