Módulo: Mongoid::Fields::Validators::Macro

Ampliado por:
Macro
Incluido en:
Macro
Definido en:
lib/mongoid/fields/validators/macro.rb

Overview

Valida los parámetros pasados al macro de campo.

Resumen de constantes colapsar

OPCIONES =
%i[
  como
  predeterminado
  identidad
  Etiqueta
  localizar
  Soluciones alternativas
  asociación
  pre_processed
  subtipo
  tipo
  sobrescribir
  cifrado
]

Resumen del método de instancia colapsar

Detalles del método de instancia

#validate(klass, name, options) ⇒ Objeto

Validar la definición del campo.

Ejemplos:

Validar la definición del campo.

Macro.validate(Model, :name, { localized: true })

Parámetros:

  • klass (clase)

    La clase de modelo.

  • Nombre (Símbolo)

    El nombre del campo.

  • opciones (encriptada)

    Las opciones proporcionadas.



33
34
35
36
37
# Archivo 'lib/mongoid/fields/validators/macro.rb', línea 33

def validar(klass, Nombre, opciones)
  validate_field_name(klass, Nombre)
  validate_name_uniqueness(klass, Nombre, opciones)
  validate_options(klass, Nombre, opciones)
end

#validate_field_name(klass, name) ⇒ objeto

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Determinar si el nombre del campo es válido, de lo contrario, generar un error.

Ejemplos:

Verifica el nombre del campo.

Macro.validate_field_name(Model, :name)

Parámetros:

  • klass (clase)

    La clase de modelo.

  • Nombre (Símbolo)

    El nombre del campo.

Aumenta:



64
65
66
67
68
# Archivo 'lib/mongoid/fields/validators/macro.rb', línea 64

def validate_field_name(klass, Nombre)
  [ Nombre, :"#{Nombre}?", :"#{Nombre}=" ].cada hacer |n|
    propagar Errors::Campo inválido.Nuevo(klass, Nombre, n) si Mongoid.campos_destructivos.incluir?(n)
  end
end

#validar_relación(clase, nombre, _opciones = {}) ⇒ objeto

Valida la definición de asociación.

Ejemplos:

Valida la definición de asociación.

Macro.validate(Model, :name)

Parámetros:

  • klass (clase)

    La clase de modelo.

  • Nombre (Símbolo)

    El nombre del campo.

  • opciones (encriptada)

    Las opciones proporcionadas.



47
48
49
50
51
# Archivo 'lib/mongoid/fields/validators/macro.rb', línea 47

def validate_relation(klass, Nombre, _opciones = {})
  [ Nombre, :"#{Nombre}?", :"#{Nombre}=" ].cada hacer |n|
    propagar Errors::Relación inválida.Nuevo(klass, n) si Mongoid.campos_destructivos.incluir?(n)
  end
end