Classificação: Mongoide::Fields::Padrão

Herda:
Objeto
  • Objeto
mostrar tudo
Estendido por:
Encaminhável
Definido em:
build/mongoid-8.1/lib/mongoid/fields/standard.rb

Subclasses conhecidas diretas

ForeingKey, localizado

Recolhimento do Resumo do atributo de instância

Recolhimento do Resumo do método de instância

Detalhes do construtor

#inicializar(nome, opções = {}) ➤ Padrão

Crie o novo campo com um nome e opções adicionais opcionais.

Exemplos:

Criar o novo campo.

Field.new(:name, :type => String)

Parâmetros:

  • opções (Hash) (padrão para: {})

    As opções de campo .

Hash de opções (opções):

  • :type (Classe)

    A classe do campo.

  • :default (Objeto)

    O valor padrão para o campo .

  • :label (string)

    O rótulo do campo.



66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'build/mongoid-8.1/lib/mongoid/fields/standard.rb', linha 66

def inicializar(name, opções = {})
  @name = name
  @opções = opções
  @label = opções[:label]
  @default_val = opções[:default]

  # @todo: Durran, altere a API em 4.0 para usar a classe como parâmetro.
  # Isto está aqui temporariamente para resolver #2529 sem alterar o
  # assinatura do construtor.
  se default_val.respond_to?(:call)
    define_default_method(opções[:klass])
  end
end

Detalhes do atributo da instância

#default_valObjeto

Define o comportamento dos campos definidos no documento. Defina leitores para as variáveis de instância.



10
11
12
# File 'build/mongoid-8.1/lib/mongoid/fields/standard.rb', linha 10

def default_val
  @default_val
end

#rótuloObjeto

Define o comportamento dos campos definidos no documento. Defina leitores para as variáveis de instância.



10
11
12
# File 'build/mongoid-8.1/lib/mongoid/fields/standard.rb', linha 10

def etiqueta
  @label
end

#nameObjeto

Define o comportamento dos campos definidos no documento. Defina leitores para as variáveis de instância.



10
11
12
# File 'build/mongoid-8.1/lib/mongoid/fields/standard.rb', linha 10

def name
  @name
end

#opçõesObjeto

Define o comportamento dos campos definidos no documento. Defina leitores para as variáveis de instância.



10
11
12
# File 'build/mongoid-8.1/lib/mongoid/fields/standard.rb', linha 10

def opções
  @opções
end

Detalhes do método de instância

#add_atomic_changes(documento, name, key, mods, new, old) ➤ Object

Adiciona as alterações atômicas para este tipo de campo redimensionável.

campo.add_atomic_changes(doc, “chave”, {}, [], [])

Exemplos:

Adicione as alterações atômicas.

Parâmetros:

  • documento (Documento)

    O documento ao qual adicionar.

  • name (string)

    O nome do campo.

  • chave (string)

    A localização atômica do campo.

  • mods (Hash)

    As modificações atuais.

  • Novo (Array)

    Os novos elementos a serem adicionados.

  • antigo (Array)

    Os elementos antigos sendo removidos.



25
26
27
# File 'build/mongoid-8.1/lib/mongoid/fields/standard.rb', linha 25

def add_atomic_changes(documento, name, chave, mods, Novo, antigo)
  mods[chave] = Novo
end

#associaçãoMetadados

Obtenha os metadados do campo se for uma chave estrangeira.

Exemplos:

Obtenha os metadados.

field.

Retorna:

  • (Metadata)

    Os metadados da associação.



116
117
118
# File 'build/mongoid-8.1/lib/mongoid/fields/standard.rb', linha 116

def associação
  @association ||= opções[:association]
end

#eval_default(doc) ➤ Objeto

Avalie o valor padrão e retorne-o. Irá lidar com a serialização, chamadas de proc e duplicação, se necessário.

Exemplos:

Avalie o valor padrão.

field.eval_default(document)

Parâmetros:

  • doc (Documento)

    O documento ao qual o campo pertence.

Retorna:

  • (Objeto)

    O valor padrão serializado.



38
39
40
41
42
43
44
# File 'build/mongoid-8.1/lib/mongoid/fields/standard.rb', linha 38

def eval_default(doc)
  se Campos = doc.__selected_fields
    avaliada_default(doc) se incluído?(Campos)
  mais
    avaliada_default(doc)
  end
end

#foreign_key?verdadeiro | false

Este campo é uma chave estrangeira?

Exemplos:

O campo é uma chave estrangeira?

field.foreign_key?

Retorna:

  • (verdadeiro | falso)

    Se o campo for uma chave estrangeira.



52
53
54
# File 'build/mongoid-8.1/lib/mongoid/fields/standard.rb', linha 52

def foreign_key?
  false
end

#preguiçoso?verdadeiro | false

Este campo faz avaliação padrão preguiçosa?

Exemplos:

O campo é preguiçoso?

field.lazy?

Retorna:

  • (verdadeiro | falso)

    Se o campo for lento.



86
87
88
# File 'build/mongoid-8.1/lib/mongoid/fields/standard.rb', linha 86

def preguiçoso?
  false
end

#localize_present?verdadeiro | false

O campo localizado está aplicando valores para estar presente?

Exemplos:

O campo localizado está aplicando valores para estar presente?

field.localize_present?

Retorna:

  • (verdadeiro | falso)

    Se o campo forçar presente.



106
107
108
# File 'build/mongoid-8.1/lib/mongoid/fields/standard.rb', linha 106

def localize_present?
  false
end

#localizado?verdadeiro | false

O campo é localizado ou não?

Exemplos:

O campo está localizado?

field.localized?

Retorna:

  • (verdadeiro | falso)

    Se o campo estiver localizado.



96
97
98
# File 'build/mongoid-8.1/lib/mongoid/fields/standard.rb', linha 96

def localizado?
  false
end

#object_id_field?verdadeiro | false

O campo é um BSON::ObjectId?

Exemplos:

O campo é um BSON::ObjectId?

field.object_id_field?

Retorna:

  • (verdadeiro | falso)

    Se o campo for um BSON::ObjectId.



126
127
128
# File 'build/mongoid-8.1/lib/mongoid/fields/standard.rb', linha 126

def object_id_field?
  @object_id_field ||= (type == BSON::ObjectId)
end

#pre_processed?verdadeiro | false

O campo pré-processa seu valor padrão?

Exemplos:

O campo pré-processa o padrão?

field.pre_processed?

Retorna:

  • (verdadeiro | falso)

    Se o padrão do campo for pré-processado.



136
137
138
139
# File 'build/mongoid-8.1/lib/mongoid/fields/standard.rb', linha 136

def pre_processed?
  @pre_processed ||=
    (opções[:pre_processed] || (default_val && !default_val.is_a?(::Proc)))
end

#typeClass

Obtenha o tipo deste campo - inferido a partir do nome da classe.

Exemplos:

Obtenha o tipo.

field.type

Retorna:

  • (Classe)

    O nome da classe.



147
148
149
# File 'build/mongoid-8.1/lib/mongoid/fields/standard.rb', linha 147

def type
  @type ||= opções[:type] || Objeto
end