Class: Collie::Linter::Registry
- Inherits:
-
Object
- Object
- Collie::Linter::Registry
- Defined in:
- lib/collie/linter/registry.rb
Overview
Registry for lint rules
Class Method Summary collapse
- .all ⇒ Object
- .enabled_rules(config) ⇒ Object
- .find(name) ⇒ Object
-
.load_rules ⇒ Object
Auto-load all rules from rules/ directory.
- .register(rule_class) ⇒ Object
Class Method Details
.all ⇒ Object
14 15 16 |
# File 'lib/collie/linter/registry.rb', line 14 def all @rules.values end |
.enabled_rules(config) ⇒ Object
22 23 24 |
# File 'lib/collie/linter/registry.rb', line 22 def enabled_rules(config) all.select { |rule| config.rule_enabled?(rule.rule_name) } end |
.find(name) ⇒ Object
18 19 20 |
# File 'lib/collie/linter/registry.rb', line 18 def find(name) @rules[name] end |
.load_rules ⇒ Object
Auto-load all rules from rules/ directory
27 28 29 30 |
# File 'lib/collie/linter/registry.rb', line 27 def load_rules rules_path = File.join(__dir__, "rules", "*.rb") Dir[rules_path].each { |f| require f } end |
.register(rule_class) ⇒ Object
10 11 12 |
# File 'lib/collie/linter/registry.rb', line 10 def register(rule_class) @rules[rule_class.rule_name] = rule_class if rule_class.rule_name end |