Clase: Mongoid::Fields::Standard
- Hereda:
-
Objeto
- Objeto
- Mongoid::Fields::Standard
- Ampliado por:
- Reenviable
- Definido en:
- lib/mongoid/fields/standard.rb
Overview
Representa una definición estándar de campo (nombre, tipo, etc.) utilizada para aplicar una estructura de esquema coherente en los documentos BSON que Mongoid persiste.
Subclases conocidas directas
Resumen de atributos de la instancia colapsar
-
#valor_predeterminado ⇒ Objeto
Define el comportamiento de los campos definidos en el documento.
-
#label ⇒ Objecto
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.
Resumen del método de instancia colapsar
-
#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 por defecto y devuélvelo.
-
#foreign_key? ⇒ verdadero | falso
¿Este campo es una clave externa?.
-
#initialize(name, options = {}) ⇒ Standard
constructor
Crea el nuevo campo con un nombre y opciones adicionales opcionales.
-
#¿lazy? ⇒ true | false
¿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?
-
#campo_id_del_objeto? ⇒ true | false
¿Es el campo un BSON::ObjectId?.
-
#pre_processed? ⇒ true | false
¿El campo pre-procesa su valor por defecto?
-
#tipo ⇒ Clase
Obtenga el tipo de este campo: inferido del nombre de la clase.
Detalles del constructor
#initialize(name, options = {}) ⇒ 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 @options = @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/la # firma del constructor. si default_val.respond_to?(llamar) define_default_method([:klass]) end end |
Detalles de los atributos de instancia
#default_val ⇒ objeto
Define el comportamiento para los campos definidos en el documento. Establecer 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 para los campos definidos en el documento. Establecer 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 para los campos definidos en el documento. Establecer 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 para los campos definidos en el documento. Establecer lectores para las variables de instancia.
15 16 17 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 15 def @options end |
Detalles del método de instancia
#add_atomic_changes(documento, name, key, mods, new, old) ⇒ 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 add_atomic_changes(Documento, Nombre, llave, mods, Nuevo, antiguo) mods[llave] = 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 foreign_key? false end |
#¿perezoso? ⇒ verdadero | falso
¿Este campo realiza una evaluación perezosa por defecto?
91 92 93 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 91 def lazy? false end |
#localize_present? ⇒ true | false
¿El campo localizado exige que los valores estén presentes?
111 112 113 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 111 def ¿localized_present? false end |
#localizado? ⇒ true | false
¿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 object_id_field? @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_processed] || (default_val && !default_val.is_a?(::Proc))) end |
#tipo ⇒ Clase
Obtenga el tipo de este campo: inferido del nombre de la clase.
152 153 154 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 152 def tipo @tipo ||= [Tipo] || Objeto end |