Class: KubeDSL::Validations::FieldValidator

Inherits:
Object
  • Object
show all
Defined in:
lib/kube-dsl/validations.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(field_name, options = {}) ⇒ FieldValidator

Returns a new instance of FieldValidator.



104
105
106
107
# File 'lib/kube-dsl/validations.rb', line 104

def initialize(field_name, options = {})
  @field_name = field_name
  @format_validator ||= FormatValidator.new(options[:format])
end

Instance Attribute Details

#field_nameObject (readonly)

Returns the value of attribute field_name.



102
103
104
# File 'lib/kube-dsl/validations.rb', line 102

def field_name
  @field_name
end

#format_validatorObject (readonly)

Returns the value of attribute format_validator.



102
103
104
# File 'lib/kube-dsl/validations.rb', line 102

def format_validator
  @format_validator
end

Instance Method Details

#validate(obj, errors, nesting) ⇒ Object



109
110
111
112
113
# File 'lib/kube-dsl/validations.rb', line 109

def validate(obj, errors, nesting)
  unless format_validator.valid?(obj)
    errors.add([*nesting, field_name].join('.'), "is not a #{format_validator.klasses.map(&:to_s).join(', ')}")
  end
end