Class: Pluginscan::Scanner

Inherits:
Object
  • Object
show all
Defined in:
lib/pluginscan.rb

Constant Summary collapse

DEFAULT_OPTIONS =
{
  output: $stdout,
  sloccount: true,
  cloc: true,
  advisories: true,
  issues_format: :report,
  hide_ignores: false,
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Scanner

Returns a new instance of Scanner.



19
20
21
# File 'lib/pluginscan.rb', line 19

def initialize(options = {})
  @options = DEFAULT_OPTIONS.merge options
end

Instance Method Details

#scan(plugin_directory) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/pluginscan.rb', line 23

def scan(plugin_directory)
  fail Errno::ENOENT unless Dir.exist? plugin_directory

  output_sloccount_report(plugin_directory) if @options[:sloccount]
  output_cloc_report(plugin_directory)      if @options[:cloc]

  output_vulnerability_report(plugin_directory) if @options[:advisories]

  output_issues_report(plugin_directory)
  output_error_list_to_file(plugin_directory) if @options[:error_list_file]

  true
end