Módulo: Mongoid::Campos::Validadores::Macro

Ampliado por:
Macro
Incluido en:
Macro
Definido en:
lib/mongoid/campos/validadores/macro.rb

Overview

Valida los parámetros pasados ​​a la macro de campo.

Colapso delresumen constante

OPCIONES =
[
  :como,
  :por defecto,
  :identidad,
  :etiqueta,
  :localizar,
  :retrocesos,
  :asociación,
  :pre_procesado,
  :subtipo,
  :tipo,
  :exagerar,
  :encriptar
]

Colapso del resumen del método de instancia

Detalles del método de instancia

#validar(clase, nombre, opciones) ⇒ 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 modelo.

  • Nombre ( Símbolo) -

    El nombre del campo.

  • opciones (Hash)

    Las opciones proporcionadas.



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

def validar(klass, Nombre, opciones)
  validar_nombre_del_campo(klass, Nombre)
  validar la unicidad del nombre(klass, Nombre, opciones)
  validate_options(klass, Nombre, opciones)
end

#validate_field_name(clase, nombre) ⇒ Objeto

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Determinar si el nombre del campo es válido, si no, generar un error.

Ejemplos:

Compruebe el nombre del campo.

Macro.validate_field_name(Model, :name)

Parámetros:

  • klass (Clase) -

    La clase modelo.

  • Nombre ( Símbolo) -

    El nombre del campo.

Aumentos:

  • (Errores::Campoinválido)

    Si el nombre no está permitido.



68
69
70
71
72
73
74
# Archivo 'lib/mongoid/fields/validators/macro.rb', línea 68

def validar_nombre_del_campo(klass, Nombre)
  [Nombre, "#{nombre }?".a_sym, "#{nombre}=".a_sym].cada hacer |n|
    Si Mongoid.campos destructivos.¿incluir?(n)
      propagar Errors::Campo inválido.Nuevo(klass, Nombre, n)
    end
  end
end

#validate_relation(klass, name, options = {}) ⇒ objeto

Validar la definición de asociación.

Ejemplos:

Validar la definición de asociación.

Macro.validate(Model, :name)

Parámetros:

  • klass (Clase) -

    La clase modelo.

  • Nombre ( Símbolo) -

    El nombre del campo.

  • opciones (Hash) (predeterminado: {})

    Las opciones proporcionadas.



49
50
51
52
53
54
55
# Archivo 'lib/mongoid/fields/validators/macro.rb', línea 49

def validate_relation(klass, Nombre, opciones = {})
  [Nombre, "#{nombre }?".a_sym, "#{nombre}=".a_sym].cada hacer |n|
    Si Mongoid.campos destructivos.¿incluir?(n)
      propagar Errors::Relación no válida.Nuevo(klass, n)
    end
  end
end