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.



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

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.



98
99
100
# File 'lib/kube-dsl/validations.rb', line 98

def field_name
  @field_name
end

#format_validatorObject (readonly)

Returns the value of attribute format_validator.



98
99
100
# File 'lib/kube-dsl/validations.rb', line 98

def format_validator
  @format_validator
end

Instance Method Details

#validate(obj, errors, nesting) ⇒ Object



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

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