class Kontena::Cli::Stacks::YAML::Validations::CustomValidators::BuildValidator

Public Class Methods

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

Public Instance Methods

validate(key, value, validations, errors) click to toggle source
# File lib/kontena/cli/stacks/yaml/custom_validators/build_validator.rb, line 7
def validate(key, value, validations, errors)
  unless value.is_a?(String) || value.is_a?(Hash)
    errors[key] = 'build must be string or hash'
    return
  end
  if value.is_a?(Hash)
    build_validation = {
      'context' => 'string',
      'dockerfile' => HashValidator.optional('string'),
      'args' => HashValidator.optional(-> (value) { value.is_a?(Array) || value.is_a?(Hash) })
    }
    HashValidator.validator_for(build_validation).validate(key, value, build_validation, errors)
  end
end