Class: Licensed::Reporters::ListReporter

Inherits:
Reporter
  • Object
show all
Defined in:
lib/licensed/reporters/list_reporter.rb

Instance Method Summary collapse

Methods inherited from Reporter

#initialize, #report_run

Constructor Details

This class inherits a constructor from Licensed::Reporters::Reporter

Instance Method Details

#report_app(app) ⇒ Object

Reports on an application configuration in a list command run

app - An application configuration

Returns the result of the yielded method Note - must be called from inside the ‘report_run` scope



12
13
14
15
16
17
# File 'lib/licensed/reporters/list_reporter.rb', line 12

def report_app(app)
  super do |report|
    shell.info "Listing dependencies for #{app["name"]}"
    yield report
  end
end

#report_dependency(dependency) ⇒ Object

Reports on a dependency in a list command run.

dependency - An application dependency

Returns the result of the yielded method Note - must be called from inside the ‘report_run` scope



59
60
61
62
63
64
65
66
# File 'lib/licensed/reporters/list_reporter.rb', line 59

def report_dependency(dependency)
  super do |report|
    result = yield report
    shell.info "    #{dependency.name} (#{dependency.version})"

    result
  end
end

#report_source(source) ⇒ Object

Reports on a dependency source enumerator in a list command run. Shows the type and count of dependencies found by the source.

source - A dependency source enumerator

Returns the result of the yielded method Note - must be called from inside the ‘report_run` scope



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/licensed/reporters/list_reporter.rb', line 26

def report_source(source)
  super do |report|
    shell.info "  #{source.class.type}"
    result = yield report

    errored_reports = report.all_reports.select { |report| report.errors.any? }.to_a
    if errored_reports.any?
      shell.newline
      shell.error "  * Errors:"
      errored_reports.each do |report|
         = report.map { |k, v| "#{k}: #{v}" }.join(", ")

        shell.error "    * #{report.name}"
        shell.error "    #{}" unless .empty?
        report.errors.each do |error|
          shell.error "      - #{error}"
        end
        shell.newline
      end
    else
      shell.confirm "  * #{report.reports.size} #{source.class.type} dependencies"
    end

    result
  end
end