Clase: Mongoid::Campos::Estándar
- Hereda:
-
Objeto
- Objeto
- Mongoid::Campos::Estándar
- Ampliado por:
- Reenviable
- Definido en:
- lib/mongoid/fields/standard.rb
Overview
Representa una definición de campo estándar (nombre, tipo, etc.) utilizada para imponer una estructura de esquema consistente a los documentos BSON que Mongoid persiste.
Subclases conocidas directas
Cifrado, clave externa, localizado
Colapso delresumen de atributos de instancia
-
#valor_predeterminado ⇒ Objeto
Define el comportamiento de los campos definidos en el documento.
-
#etiqueta ⇒ Objeto
Define el comportamiento de los campos definidos en el documento.
-
#nombre ⇒ Objeto
Define el comportamiento de los campos definidos en el documento.
-
#opciones ⇒ Objeto
Define el comportamiento de los campos definidos en el documento.
Colapso del resumen del método de instancia
-
#add_atomic_changes(documento, nombre, clave, mods, nuevo, antiguo) ⇒ Objeto
Agrega los cambios atómicos para este tipo de campo redimensionable.
-
#association ⇒ Metadata
Obtenga los metadatos del campo si es una clave externa.
-
#eval_default(doc) ⇒ Objeto
Evalúa el valor predeterminado y devuélvelo.
-
#clave_externa? ⇒ verdadero | falso
¿Es este campo una clave externa?
-
#initialize(name, options = {}) ⇒ Standard
constructor
Crea el nuevo campo con un nombre y opciones adicionales opcionales.
-
#¿perezoso? ⇒ verdadero | falso
¿Este campo realiza una evaluación predeterminada perezosa?
-
#localize_present? ⇒ verdadero | falso
¿El campo localizado exige que los valores estén presentes?
-
#¿localizado? ⇒ true | false
¿El campo está localizado o no?
-
#object_id_field? ⇒ verdadero | falso
¿El campo es un BSON::ObjectId?
-
#pre_procesado? ⇒ verdadero | falso
¿El campo preprocesa su valor predeterminado?
-
#tipo ⇒ Clase
Obtenga el tipo de este campo, inferido a partir del nombre de la clase.
Detalles del constructor
#inicializar(nombre, opciones = {}) ⇒ Estándar
Crea el nuevo campo con un nombre y opciones adicionales opcionales.
71 72 73 74 75 76 77 78 79 80 81 82 83 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 71 def inicializar(Nombre, = {}) @name = Nombre @opciones = @label = [:etiqueta] @default_val = [:por defecto] # @todo: Durran, cambia la API en 4.0 para tomar la clase como parámetro. # Esto está aquí temporalmente para abordar #2529 sin cambiar el # firma del constructor. Si default_val.respond_to?(:llamar) definir_método_predeterminado([:klass]) end end |
Detalles de los atributos de instancia
#valor_predeterminado ⇒ Objeto
Define el comportamiento de los campos definidos en el documento. Establece lectores para las variables de instancia.
15 16 17 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 15 def default_val @default_val end |
#etiqueta ⇒ Objeto
Define el comportamiento de los campos definidos en el documento. Establece lectores para las variables de instancia.
15 16 17 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 15 def etiqueta @label end |
#nombre ⇒ Objeto
Define el comportamiento de los campos definidos en el documento. Establece lectores para las variables de instancia.
15 16 17 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 15 def Nombre @name end |
#opciones ⇒ Objeto
Define el comportamiento de los campos definidos en el documento. Establece lectores para las variables de instancia.
15 16 17 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 15 def @opciones end |
Detalles del método de instancia
#add_atomic_changes(documento, nombre, clave, mods, nuevo, antiguo) ⇒ Objeto
Agrega los cambios atómicos para este tipo de campo redimensionable.
campo.add_atomic_changes(doc, “clave”, {}, [], [])
30 31 32 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 30 def añadir cambios atómicos(Documento, Nombre, clave, mods, Nuevo, antiguo) mods[clave] = Nuevo end |
#association ⇒ Metadata
Obtenga los metadatos del campo si es una clave externa.
121 122 123 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 121 def asociación @asociación ||= [:asociación] end |
#eval_default(doc) ⇒ Objeto
Evalúa el valor predeterminado y lo devuelve. Gestionará la serialización, las llamadas a procedimientos y la duplicación si es necesario.
43 44 45 46 47 48 49 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 43 def eval_default(doc) Si campos = doc.__selected_fields evaluated_default(doc) Si ¿incluido?(campos) else evaluated_default(doc) end end |
#clave_externa? ⇒ verdadero | falso
¿Es este campo una clave externa?
57 58 59 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 57 def ¿clave externa? false end |
#¿perezoso? ⇒ verdadero | falso
¿Este campo realiza una evaluación predeterminada perezosa?
91 92 93 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 91 def lazy? false end |
#localize_present? ⇒ verdadero | falso
¿El campo localizado exige que los valores estén presentes?
111 112 113 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 111 def ¿localizar_presente? false end |
#¿localizado? ⇒ verdadero | falso
¿El campo está localizado o no?
101 102 103 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 101 def ¿localizado? false end |
#object_id_field? ⇒ verdadero | falso
¿El campo es un BSON::ObjectId?
131 132 133 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 131 def ¿campo_id_del_objeto? @object_id_field ||= (tipo == BSON::ObjectId) end |
#pre_procesado? ⇒ verdadero | falso
¿El campo preprocesa su valor predeterminado?
141 142 143 144 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 141 def ¿pre_procesado? @pre_procesado ||= ([:pre_procesado] || (default_val && !default_val.is_a?(::Proc))) end |
#tipo ⇒ Clase
Obtenga el tipo de este campo, inferido a partir del nombre de la clase.
152 153 154 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 152 def tipo @tipo ||= [:tipo] || Objeto end |