Módulo: Mongoid::Fields::Validators::macro

Estendido por:
macro
Incluído em:
macro
Definido em:
lib/mongoid/fields/validators/macro.rb

Visão geral

Valida os parâmetros passados para a macro de campo.

Colapsode resumo constante

OPÇÕES =
%i[
  como
  default
  identidade
  etiqueta
  localizar
  Recuos
  associação
  pre_processed
  Subtipo
  type
  substituir
  criptografar
]

Recolhimento do Resumo do método de instância

Detalhes do método de instância

#validate(klass, nome, opções) ➤ Objeto

Valide a definição de campo .

Exemplos:

Valide a definição de campo .

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

Parâmetros:

  • classe (Classe)

    A classe modelo.

  • name (Símbolo)

    O nome do campo .

  • opções (Hash)

    As opções fornecidas.



33
34
35
36
37
# Arquivo 'lib/mongoid/fields/validators/macro.rb', linha 33

def validar(classe, name, opções)
  validate_field_name(classe, name)
  validate_name_uniqueness(classe, name, opções)
  validate_options(classe, name, opções)
end

#validate_field_name(klass, nome) ➤ Objeto

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Determine se o nome do campo é válido, se não gerar um erro.

Exemplos:

Verifique o nome do campo .

Macro.validate_field_name(Model, :name)

Parâmetros:

  • classe (Classe)

    A classe modelo.

  • name (Símbolo)

    O nome do campo .

Aumenta:



64
65
66
67
68
# Arquivo 'lib/mongoid/fields/validators/macro.rb', linha 64

def validate_field_name(classe, name)
  [ name, :"#{name}?", :"#{name}=" ].cada fazer |n|
    aumentar Errors::Campo inválido.Novo(classe, name, n) se Mongoid.destrutivos_campos.incluir?(n)
  end
end

#validate_relation(klass, name, _options = {}) ⇒ Object

Valide a definição de associação.

Exemplos:

Valide a definição de associação.

Macro.validate(Model, :name)

Parâmetros:

  • classe (Classe)

    A classe modelo.

  • name (Símbolo)

    O nome do campo .

  • opções (Hash)

    As opções fornecidas.



47
48
49
50
51
# Arquivo 'lib/mongoid/fields/validators/macro.rb', linha 47

def validate_relation(classe, name, _options = {})
  [ name, :"#{name}?", :"#{name}=" ].cada fazer |n|
    aumentar Errors::InvalidRelation.Novo(classe, n) se Mongoid.destrutivos_campos.incluir?(n)
  end
end