class Licensed::Reporters::ListReporter

Public Instance Methods

begin_report_app(app, report) click to toggle source

Reports the start of application configuration in a list command run

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

# File lib/licensed/reporters/list_reporter.rb, line 10
def begin_report_app(app, report)
  shell.info "Listing dependencies for #{app["name"]}"
end
begin_report_source(source, report) click to toggle source

Reports the start of a source evaluation

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

# File lib/licensed/reporters/list_reporter.rb, line 18
def begin_report_source(source, report)
  shell.info "  #{source.class.type}"
end
end_report_dependency(dependency, report) click to toggle source

Reports on a dependency in a list command run.

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

# File lib/licensed/reporters/list_reporter.rb, line 67
def end_report_dependency(dependency, report)
  info = "#{dependency.name} (#{dependency.version})"
  info = "#{info}: #{report["license"]}" if report["license"]
  shell.info "    #{info}"
end
end_report_source(source, report) click to toggle source

Report the type and count of dependencies found by the source, along with any warnings and errors

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

# File lib/licensed/reporters/list_reporter.rb, line 27
def end_report_source(source, report)
  warning_reports = report.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 = report.all_reports.select { |r| r.errors.any? }.to_a
  if errored_reports.any?
    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
  else
    shell.confirm "  * #{report.reports.size} #{source.class.type} dependencies"
  end
end