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 =
[
  :as,
  :default,
  :identity,
  :label,
  :localize,
  : fallbacks,
  :association,
  :pre_processed,
  :subtype,
  :type,
  :overwrite,
  :encrypt
]

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.



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

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:



68
69
70
71
72
73
74
# Arquivo 'lib/mongoid/fields/validators/macro.rb', linha 68

def validate_field_name(classe, name)
  [name, "#{nome}?".to_sym, "#{name}=".to_sym].cada fazer |n|
    se Mongoid.destrutivos_campos.incluir?(n)
      aumentar Errors::Campo inválido.Novo(classe, name, n)
    end
  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) (padrão para: {})

    As opções fornecidas.



49
50
51
52
53
54
55
# Arquivo 'lib/mongoid/fields/validators/macro.rb', linha 49

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