Class: RuboCop::Formatter::BaseFormatter
Relationships & Source Files | |
Extension / Inclusion / Inheritance Descendants | |
Subclasses:
AutoGenConfigFormatter, ClangStyleFormatter, DisabledConfigFormatter, EmacsStyleFormatter, FileListFormatter, FuubarStyleFormatter, GitHubActionsFormatter, HTMLFormatter, JSONFormatter, JUnitFormatter, MarkdownFormatter, OffenseCountFormatter, PacmanFormatter, ProgressFormatter, QuietFormatter, SimpleTextFormatter, TapFormatter, WorstOffendersFormatter
|
|
Inherits: | Object |
Defined in: | lib/rubocop/formatter/base_formatter.rb |
Overview
Abstract base class for formatter, implements all public API methods.
Creating Custom Formatter
You can create a custom formatter by subclassing
RuboCop::Formatter::BaseFormatter
and overriding some methods
or by implementing all the methods by duck typing.
Using Custom Formatter in Command Line
You can tell RuboCop to use your custom formatter with a combination of
--format
and --require
option.
For example, when you have defined MyCustomFormatter
in
./path/to/my_custom_formatter.rb
, you would type this command:
rubocop --require ./path/to/my_custom_formatter --format MyCustomFormatter
Note: The path passed to --require
is directly passed to
Kernel.require
.
If your custom formatter file is not in $LOAD_PATH
,
you need to specify the path as relative path prefixed with ./
explicitly or absolute path.
Method Invocation Order
For example, when RuboCop inspects 2 files, the invocation order should be like this:
-
#initialize
-
#started
-
#file_started
-
#file_finished
-
#file_started
-
#file_finished
-
#finished
Class Method Summary
- .new(output, options = {}) ⇒ BaseFormatter constructor
Instance Attribute Summary
- #options ⇒ Hash readonly
- #output ⇒ IO readonly
Instance Method Summary
-
#file_finished(file, offenses)
Invoked at the end of inspecting each files.
-
#file_started(file, options)
Invoked at the beginning of inspecting each files.
-
#finished(inspected_files)
Invoked after all files are inspected or interrupted by user.
-
#started(target_files)
Invoked once before any files are inspected.
Constructor Details
.new(output, options = {}) ⇒ BaseFormatter
Instance Attribute Details
#options ⇒ Hash
(readonly)
# File 'lib/rubocop/formatter/base_formatter.rb', line 57
attr_reader :
#output ⇒ IO
(readonly)
# File 'lib/rubocop/formatter/base_formatter.rb', line 50
attr_reader :output
Instance Method Details
#file_finished(file, offenses)
This method returns an undefined value.
Invoked at the end of inspecting each files.
# File 'lib/rubocop/formatter/base_formatter.rb', line 104
def file_finished(file, offenses); end
#file_started(file, options)
This method returns an undefined value.
Invoked at the beginning of inspecting each files.
# File 'lib/rubocop/formatter/base_formatter.rb', line 89
def file_started(file, ); end
#finished(inspected_files)
This method returns an undefined value.
Invoked after all files are inspected or interrupted by user.
# File 'lib/rubocop/formatter/base_formatter.rb', line 116
def finished(inspected_files); end
#started(target_files)
This method returns an undefined value.
Invoked once before any files are inspected.
# File 'lib/rubocop/formatter/base_formatter.rb', line 76
def started(target_files); end