Class: Lutaml::Xsd::CircularImportRule
- Inherits:
-
ValidationRule
- Object
- ValidationRule
- Lutaml::Xsd::CircularImportRule
- Defined in:
- lib/lutaml/xsd/xsd_spec_validator.rb
Overview
Validates for circular import chains
Instance Attribute Summary
Attributes inherited from ValidationRule
Instance Method Summary collapse
Methods inherited from ValidationRule
Constructor Details
This class inherits a constructor from Lutaml::Xsd::ValidationRule
Instance Method Details
#validate(repository) ⇒ Object
125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
# File 'lib/lutaml/xsd/xsd_spec_validator.rb', line 125 def validate(repository) errors = [] warnings = [] # Build dependency graph dependencies = build_dependency_graph(repository) # Check for circular dependencies visited = {} dependencies.each_key do |file| errors << "Circular import chain detected involving schema: #{File.basename(file)}" if has_circular_dependency?( file, dependencies, visited, [] ) end { errors: errors, warnings: warnings } end |