Class: ForemanDeployments::Validation::Validator

Inherits:
Object
  • Object
show all
Defined in:
app/lib/foreman_deployments/validation/validator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.validate(stack_definition) ⇒ Object



15
16
17
# File 'app/lib/foreman_deployments/validation/validator.rb', line 15

def self.validate(stack_definition)
  Validator.new.validate(stack_definition)
end

.validate!(stack_definition) ⇒ Object



19
20
21
22
23
24
25
26
# File 'app/lib/foreman_deployments/validation/validator.rb', line 19

def self.validate!(stack_definition)
  result = Validator.new.validate(stack_definition)
  if result.valid?
    result
  else
    fail ForemanDeployments::Validation::ValidationError.new(result, _('Stack definition is invalid'))
  end
end

Instance Method Details

#validate(stack_definition) ⇒ Object



4
5
6
7
8
9
10
11
12
13
# File 'app/lib/foreman_deployments/validation/validator.rb', line 4

def validate(stack_definition)
  cloned = stack_definition.deep_clone

  cloned.accept(ForemanDeployments::Validation::RemoveIdsVisitor.new)
  cloned.accept(ForemanDeployments::Validation::DereferenceVisitor.new)
  validation_visitor = ForemanDeployments::Validation::ValidationVisitor.new
  cloned.accept(validation_visitor)

  validation_visitor.result
end