Class: Ea::Lint::Rules::OrphanElementRule
- Defined in:
- lib/ea/lint/rules/orphan_element.rb
Overview
Class with no parent package (orphan). Usually indicates a modeling accident.
Instance Method Summary collapse
Methods inherited from LintRule
Instance Method Details
#check(model) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/ea/lint/rules/orphan_element.rb', line 11 def check(model) valid_pkg_ids = (model.collections[:packages] || []) .map(&:package_id).to_set (model.collections[:objects] || []).select { |o| o.object_type == "Class" }.map do |klass| next unless klass.package_id unless valid_pkg_ids.include?(klass.package_id) offense(entity_id: klass.object_id, entity_name: klass.name, message: "Class references missing package_id=#{klass.package_id}") end end.compact end |