Class: Katello::Validators::PathDescendentsValidator

Inherits:
ActiveModel::Validator
  • Object
show all
Defined in:
app/lib/katello/validators/path_descendents_validator.rb

Instance Method Summary collapse

Instance Method Details

#duplicate?(record) ⇒ Boolean

Returns:

  • (Boolean)


12
13
14
15
16
17
18
19
20
21
# File 'app/lib/katello/validators/path_descendents_validator.rb', line 12

def duplicate?(record)
  s = record.successor
  ret = [record.id]
  until s.nil?
    return true if ret.include? s.id
    ret << s.id
    s = s.successor
  end
  false
end

#validate(record) ⇒ Object



4
5
6
7
8
9
10
# File 'app/lib/katello/validators/path_descendents_validator.rb', line 4

def validate(record)
  #need to ensure that
  #environment is not duplicated in its path
  # We do not want circular dependencies
  return if record.prior.nil?
  record.errors[:prior] << _(" environment cannot be set to an environment already on its path") if duplicate? record.prior
end