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, WorstOffendersFormatter
Instance Attribute Summary collapse
- #options ⇒ Hash readonly
-
#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, options = {}) ⇒ BaseFormatter
constructor
A new instance of BaseFormatter.
-
#started(target_files)
Invoked once before any files are inspected.
Constructor Details
#initialize(output, options = {}) ⇒ BaseFormatter
Returns a new instance of BaseFormatter.
68 69 70 71 |
# File 'lib/rubocop/formatter/base_formatter.rb', line 68 def initialize(output, = {}) @output = output @options = end |
Instance Attribute Details
#options ⇒ Hash (readonly)
62 63 64 |
# File 'lib/rubocop/formatter/base_formatter.rb', line 62 def @options end |
#output ⇒ IO (readonly)
Returns the IO object passed to #initialize
.
55 56 57 |
# File 'lib/rubocop/formatter/base_formatter.rb', line 55 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.
111 112 |
# File 'lib/rubocop/formatter/base_formatter.rb', line 111 def file_finished(file, offenses) end |
#file_started(file, options)
This method returns an undefined value.
Invoked at the beginning of inspecting each files.
95 96 |
# File 'lib/rubocop/formatter/base_formatter.rb', line 95 def file_started(file, ) end |
#finished(inspected_files)
This method returns an undefined value.
Invoked after all files are inspected, or interrupted by user.
124 125 |
# File 'lib/rubocop/formatter/base_formatter.rb', line 124 def finished(inspected_files) end |
#started(target_files)
This method returns an undefined value.
Invoked once before any files are inspected.
81 82 |
# File 'lib/rubocop/formatter/base_formatter.rb', line 81 def started(target_files) end |