Class: Danger::DangerPluginLint

Inherits:
Plugin
  • Object
show all
Defined in:
lib/danger/danger_plugin_lint.rb

Overview

Analyze Danger plugin or files and report problems. This plugin does the almost same as ‘danger plugins lint` but it runs on Danger.

Examples:

To run this plugin on your plugin’s repo, you just run it in your Dangerfile.


plugin_lint.lint_docs

See Also:

Instance Method Summary collapse

Instance Method Details

#lint_docs(*refs, warnings_as_errors: false) ⇒ void

This method returns an undefined value.

Analyze plugin files and detect documentation problems.

Parameters:

  • refs (Array)

    Paths to files or gems to be linted. If ‘nil` is given, it automatically finds files.

  • warnings_as_errors (Boolean) (defaults to: false)

    If ‘true`, treat all warnings as errors.



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

def lint_docs(*refs, warnings_as_errors: false)
  refs = refs.flatten.compact
  file_resolver = PluginFileResolver.new(refs.empty? ? nil : refs)
  data = file_resolver.resolve

  parser = PluginParser.new(data[:paths], verbose: true)
  parser.parse
  json = parser.to_json

  linter = PluginLinter.new(json)
  linter.lint
  display_rules(:fail, linter.errors)
  display_rules(warnings_as_errors ? :fail : :warn, linter.warnings)
end