class Kontena::Cli::Apps::YAML::Validations::CustomValidators::AffinitiesValidator

Public Class Methods

new() click to toggle source
Calls superclass method
# File lib/kontena/cli/apps/yaml/custom_validators/affinities_validator.rb, line 3
def initialize
  super('valid_affinities')
end

Public Instance Methods

validate(key, value, validations, errors) click to toggle source
# File lib/kontena/cli/apps/yaml/custom_validators/affinities_validator.rb, line 7
def validate(key, value, validations, errors)
  unless value.is_a?(Array)
    errors[key] = 'affinity must be array'
    return
  end

  invalid_formats = value.find_all { |a| !a.match(/(?<=\!|\=)=/) }
  if invalid_formats.count > 0
    errors[key] = "affinity contains invalid formats: #{invalid_formats.join(', ')}"
  end
end