Class: Ea::Lint::Engine
- Inherits:
-
Object
- Object
- Ea::Lint::Engine
- Defined in:
- lib/ea/lint/engine.rb
Overview
Runs all registered rules against a model and collects offenses. Adding a rule = adding it to DEFAULT_RULES (OCP).
Constant Summary collapse
- DEFAULT_RULES =
[ Rules::NamingConventionRule, Rules::OrphanElementRule, Rules::DuplicateNameRule, Rules::CyclicGeneralizationRule, Rules::MissingStereotypeRule ].freeze
Instance Attribute Summary collapse
-
#rules ⇒ Object
readonly
Returns the value of attribute rules.
Instance Method Summary collapse
-
#initialize(rules: DEFAULT_RULES) ⇒ Engine
constructor
A new instance of Engine.
- #run(model) ⇒ Array<Offense>
Constructor Details
#initialize(rules: DEFAULT_RULES) ⇒ Engine
Returns a new instance of Engine.
19 20 21 |
# File 'lib/ea/lint/engine.rb', line 19 def initialize(rules: DEFAULT_RULES) @rules = rules end |
Instance Attribute Details
#rules ⇒ Object (readonly)
Returns the value of attribute rules.
8 9 10 |
# File 'lib/ea/lint/engine.rb', line 8 def rules @rules end |
Instance Method Details
#run(model) ⇒ Array<Offense>
25 26 27 |
# File 'lib/ea/lint/engine.rb', line 25 def run(model) @rules.flat_map { |rule_class| rule_class.new.check(model) } end |