Class: Mxrb::Architecture::Validator

Inherits:
Object
  • Object
show all
Defined in:
lib/mxrb/architecture/validator.rb

Defined Under Namespace

Classes: Result

Instance Method Summary collapse

Constructor Details

#initialize(graph) ⇒ Validator

Returns a new instance of Validator.



10
11
12
# File 'lib/mxrb/architecture/validator.rb', line 10

def initialize(graph)
  @graph = graph
end

Instance Method Details

#validateObject



14
15
16
17
18
19
20
21
# File 'lib/mxrb/architecture/validator.rb', line 14

def validate
  errors = []
  warnings = []
  validate_targets(errors)
  validate_layers(errors)
  validate_cycles(errors)
  Result.new(errors.freeze, warnings.freeze)
end

#validate!Object

Raises:



23
24
25
26
27
28
# File 'lib/mxrb/architecture/validator.rb', line 23

def validate!
  result = validate
  return result if result.valid?

  raise ValidationError, "architecture validation failed:\n- #{result.errors.join("\n- ")}"
end