validate!

in spec/spec_validator.rb [32:51]


  def validate!(json)
    spec.fetch('fields').each_with_index do |(field_name, field_spec), index|
      log_value = json[field_name]

      if field_spec.fetch('required', false) && log_value.nil?
        raise RequiredFieldMissingError, "Missing required field `#{field_name}`"
      end

      if (spec_index = field_spec['index']) && spec_index != index
        raise WrongIndexError, "Expected field `#{field_name}` at index #{spec_index}, was #{index}"
      end

      next unless log_value

      validateType(field_name, field_spec, log_value)
    end

    true
  end