Class: LicenseFinder::CLI::Main

Inherits:
Base
  • Object
show all
Extended by:
Rootcommand
Defined in:
lib/license_finder/cli/main.rb

Constant Summary collapse

FORMATS =
{
  'text' => TextReport,
  'html' => HtmlReport,
  'markdown' => MarkdownReport,
  'csv' => CsvReport
}

Instance Method Summary collapse

Methods included from Rootcommand

subcommand

Instance Method Details

#action_itemsObject



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/license_finder/cli/main.rb', line 35

def action_items
  unapproved = license_finder.unapproved
  blacklisted = license_finder.blacklisted

  # Ensure to start output on a new line even with dot progress indicators.
  say "\n"

  if unapproved.empty?
    say "All dependencies are approved for use", :green
  else
    unless blacklisted.empty?
      say "Blacklisted dependencies:", :red
      say report_of(blacklisted)
    end

    other_unapproved = unapproved - blacklisted
    unless other_unapproved.empty?
      say "Dependencies that need approval:", :yellow
      say report_of(other_unapproved)
    end

    exit 1
  end
end

#diff(file1, file2) ⇒ Object



87
88
89
90
91
92
# File 'lib/license_finder/cli/main.rb', line 87

def diff(file1, file2)
  f1 = IO.read(file1)
  f2 = IO.read(file2)
  report = DiffReport.new(Diff.compare(f1, f2))
  save? ? save_report(report, options[:save]) : say(report)
end

#reportObject



64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/license_finder/cli/main.rb', line 64

def report
  logger_config[:quiet] = true

  subproject_paths = options[:subprojects] if subprojects?
  subproject_paths = ProjectFinder.new(license_finder.config.project_path).find_projects if recursive?

  if subproject_paths && !subproject_paths.empty?
    finder = LicenseAggregator.new(license_finder_config, subproject_paths)
    report = MergedReport.new(finder.dependencies, options)
  else
    report = report_of(license_finder.acknowledged)
  end
  save? ? save_report(report, options[:save]) : say(report)
end

#versionObject



81
82
83
# File 'lib/license_finder/cli/main.rb', line 81

def version
  puts LicenseFinder::VERSION
end