class Licensed::Reporters::StatusReporter

Public Instance Methods

begin_report_app(app, report) click to toggle source

Reports the start of checking records for an app

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

# File lib/licensed/reporters/status_reporter.rb, line 26
def begin_report_app(app, report)
  shell.info "Checking cached dependency records for #{app["name"]}"
end
end_report_app(app, report) click to toggle source

Reports any errors found when checking status, as well as overall number of dependencies checked

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

# File lib/licensed/reporters/status_reporter.rb, line 35
def end_report_app(app, report)
  all_reports = report.all_reports

  warning_reports = all_reports.select { |r| r.warnings.any? }.to_a
  if warning_reports.any?
    shell.newline
    shell.warn "Warnings:"
    warning_reports.each do |r|
      display_metadata = r.map { |k, v| "#{k}: #{v}" }.join(", ")

      shell.warn "* #{r.name}"
      shell.warn "  #{display_metadata}" unless display_metadata.empty?
      r.warnings.each do |warning|
        shell.warn "    - #{warning}"
      end
      shell.newline
    end
  end

  errored_reports = all_reports.select { |r| r.errors.any? }.to_a

  dependency_count = all_reports.count { |r| r.target.is_a?(Licensed::Dependency) }
  error_count = errored_reports.reduce(0) { |count, r| count + r.errors.size }

  if error_count > 0
    shell.newline
    shell.error "Errors:"
    errored_reports.each do |r|
      display_metadata = r.map { |k, v| "#{k}: #{v}" }.join(", ")

      shell.error "* #{r.name}"
      shell.error "  #{display_metadata}" unless display_metadata.empty?
      r.errors.each do |error|
        shell.error "    - #{error}"
      end
      shell.newline
    end
  end

  shell.newline
  shell.info "#{dependency_count} dependencies checked, #{error_count} errors found."
end
end_report_command(command, report) click to toggle source

Reports any errors encountered at the command level

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

# File lib/licensed/reporters/status_reporter.rb, line 10
def end_report_command(command, report)
  if report.warnings.any?
    shell.newline
    report.warnings.each { |e| shell.warn e }
  end

  if report.errors.any?
    shell.newline
    report.errors.each { |e| shell.error e }
  end
end
end_report_dependency(dependency, report) click to toggle source

Reports whether the dependency’s status is valid in dot format

dependency - An application dependency report - A report containing information about the dependency evaluation

# File lib/licensed/reporters/status_reporter.rb, line 82
def end_report_dependency(dependency, report)
  if report.errors.empty?
    shell.confirm(".", false)
  else
    shell.error("F", false)
  end
end