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
-
#default_val ⇒ 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(_document, _name, key, mods, new, _old) ⇒ objeto
Agrega los cambios atómicos para este tipo de campo redimensionable.
-
#association ⇒ Metadata
Se obtiene los metadatos para el campo si es una clave foránea.
-
#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 perezosa por defecto?
-
#localize_present? ⇒ true | false
¿El campo localizado está aplicando que haya valores presentes?
-
#¿localizado? ⇒ true | false
¿Está localizado el campo 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?
-
#type ⇒ 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.
69 70 71 72 73 74 75 76 77 78 79 80 81 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 69 def inicializar(Nombre, = {}) @name = Nombre @options = @label = [:etiqueta] @default_val = [por defecto] # @por hacer: 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. return a menos que default_val.respond_to?(llamar) define_default_method([:klass]) end |
Detalles de atributo de instancias
#default_val ⇒ objeto
Define el comportamiento para los campos definidos en el documento. Establecer lectores para las variables de instancia.
13 14 15 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 13 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.
13 14 15 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 13 def Etiqueta @label end |
#nombre ⇒ objeto
Define el comportamiento para los campos definidos en el documento. Establecer lectores para las variables de instancia.
13 14 15 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 13 def Nombre @name end |
#opciones ⇒ Objeto
Define el comportamiento para los campos definidos en el documento. Establecer lectores para las variables de instancia.
13 14 15 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 13 def @options end |
Detalles del método de instancia
#add_atomic_changes(_document, _name, key, mods, new, _old) ⇒ Object
Agrega los cambios atómicos para este tipo de campo redimensionable.
campo.add_atomic_changes(doc, "key", {}, [], [])
28 29 30 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 28 def add_atomic_changes(document, _name, llave, mods, Nuevo, _viejo) mods[llave] = Nuevo end |
#association ⇒ Metadata
Se obtiene los metadatos para el campo si es una clave foránea.
119 120 121 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 119 def asociación @asociación ||= [asociación] end |
#eval_default(doc) ⇒ Object
Evalúe el valor por defecto y devuélvalo. Se encargará de la serialización, las llamadas de procesos y la duplicación si es necesario.
41 42 43 44 45 46 47 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 41 def eval_default(doc) si Campos = doc.__selected_fields evaluated_default(doc) si ¿incluido?(Campos) else evaluated_default(doc) end end |
#¿foreign_key? ⇒ true | false
¿Es este campo una clave externa?
55 56 57 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 55 def foreign_key? false end |
#perezoso? ⇒ verdadero | falso
¿Este campo realiza una evaluación perezosa por defecto?
89 90 91 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 89 def lazy? false end |
#localize_present? ⇒ true | false
¿El campo localizado aplica que los valores estén presentes?
109 110 111 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 109 def ¿localized_present? false end |
#localizado? ⇒ true | false
¿Está localizado el campo o no?
99 100 101 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 99 def ¿localizado? false end |
#object_id_field? ⇒ verdadero | falso
¿Es el campo un BSON::ObjectId?
129 130 131 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 129 def object_id_field? @object_id_field ||= (tipo == BSON::ObjectId) end |
#pre_processed? ⇒ true | false
¿El campo preprocesa su valor por defecto?
139 140 141 142 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 139 def ¿preprocesado? @pre_processed ||= [:pre_processed] || (default_val && !default_val.is_a?(::Proc)) end |
#type ⇒ Class
Obtenga el tipo de este campo: inferido del nombre de la clase.
150 151 152 |
# Archivo 'lib/mongoid/fields/standard.rb', línea 150 def tipo @type ||= [Tipo] || Objeto end |