Class: ROM::Lint::Linter
- Inherits:
-
Object
- Object
- ROM::Lint::Linter
- Defined in:
- lib/rom/lint/linter.rb
Overview
Base class for building linters that check source code
Linters are used by authors of ROM adapters to verify that their integration complies with the ROM api.
Most of the time, authors won’t need to construct linters directly because the provided test helpers will automatically run when required in tests and specs.
Direct Known Subclasses
Constant Summary collapse
- Failure =
A failure raised by
complain
Class.new(StandardError)
Class Method Summary collapse
-
.each_lint {|String, ROM::Lint| ... } ⇒ Object
Iterate over all lint methods.
Instance Method Summary collapse
-
#lint(name) ⇒ Object
Run a lint method.
Class Method Details
.each_lint {|String, ROM::Lint| ... } ⇒ Object
Iterate over all lint methods
26 27 28 29 |
# File 'lib/rom/lint/linter.rb', line 26 def self.each_lint return to_enum unless block_given? lints.each { |lint| yield lint, self } end |
Instance Method Details
#lint(name) ⇒ Object
Run a lint method
38 39 40 41 42 43 |
# File 'lib/rom/lint/linter.rb', line 38 def lint(name) before_lint public_send name after_lint true # for assertions end |