Class: RuboCop::Formatter::BaseFormatter
- Inherits:
-
Object
- Object
- RuboCop::Formatter::BaseFormatter
- 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
Direct Known Subclasses
DisabledConfigFormatter, DisabledLinesFormatter, EmacsStyleFormatter, FileListFormatter, HTMLFormatter, JSONFormatter, OffenseCountFormatter, SimpleTextFormatter
Instance Attribute Summary collapse
-
#output ⇒ IO
readonly
The IO object passed to
#initialize
.
Instance Method Summary collapse
-
#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.
-
#initialize(output) ⇒ BaseFormatter
constructor
A new instance of BaseFormatter.
-
#started(target_files)
Invoked once before any files are inspected.
Constructor Details
#initialize(output) ⇒ BaseFormatter
Returns a new instance of BaseFormatter.
60 61 62 |
# File 'lib/rubocop/formatter/base_formatter.rb', line 60 def initialize(output) @output = output end |
Instance Attribute Details
#output ⇒ IO (readonly)
Returns the IO object passed to #initialize
.
54 55 56 |
# File 'lib/rubocop/formatter/base_formatter.rb', line 54 def output @output end |
Instance Method Details
#file_finished(file, offenses)
This method returns an undefined value.
Invoked at the end of inspecting each files.
102 103 |
# File 'lib/rubocop/formatter/base_formatter.rb', line 102 def file_finished(file, offenses) end |
#file_started(file, options)
This method returns an undefined value.
Invoked at the beginning of inspecting each files.
86 87 |
# File 'lib/rubocop/formatter/base_formatter.rb', line 86 def file_started(file, ) end |
#finished(inspected_files)
This method returns an undefined value.
Invoked after all files are inspected, or interrupted by user.
115 116 |
# File 'lib/rubocop/formatter/base_formatter.rb', line 115 def finished(inspected_files) end |
#started(target_files)
This method returns an undefined value.
Invoked once before any files are inspected.
72 73 |
# File 'lib/rubocop/formatter/base_formatter.rb', line 72 def started(target_files) end |