Clase: Mongoid::Atomic::Modifiers
- Hereda:
-
Picadillo
- Objeto
- Picadillo
- Mongoid::Atomic::Modifiers
- Definido en:
- lib/mongoid/atomic/modifiers.rb
Overview
Esta clase contiene la lógica para soportar operaciones atómicas contra la base de datos.
Resumen del método de instancia colapsar
-
#add_to_set(modifications) ⇒ objeto
Agrega los modificadores atómicos $addToSet al hash.
-
#pull(modificaciones) ⇒ Objeto
Agrega todos los modificadores extractados al hash de modificadores.
-
#pull_all(modifications) ⇒ Object
Agrega todos los modificadores extractados al hash de modificadores.
-
#push(modificaciones) ⇒ Objeto
Adds push modifiers to the modifiers hash.
-
#set(modificaciones) ⇒ Objeto
Agrega operaciones de conjunto al hash de modificadores.
-
#unset(modificaciones) ⇒ Objeto
Añade operaciones unset al hash de modificadores.
Detalles del método de instancia
#add_to_set(modificaciones) ⇒ objeto
Agrega los modificadores atómicos $addToSet al hash.
17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/mongoid/atomic/modifiers.rb', line 17 def Añadir a conjunto(modificaciones) modificaciones.each_pair hacer |Campo, Valor| si Agregar a sets.has_key?(Campo) Valor.cada hacer |val| Agregar a sets[Campo]["$cada"].push(val) end else Agregar a sets[Campo] = { "$cada" => Valor } end end end |
#pull(modificaciones) ⇒ Objeto
Agrega todos los modificadores extractados al hash de modificadores.
48 49 50 51 52 53 |
# File 'lib/mongoid/atomic/modifiers.rb', line 48 def tirar(modificaciones) modificaciones.each_pair hacer |Campo, Valor| extracciones[Campo] = Valor pull_fields[Campo.división(".", 2)[0]] = Campo end end |
#pull_all(modificaciones) ⇒ objeto
Agrega todos los modificadores extractados al hash de modificadores.
35 36 37 38 39 40 |
# File 'lib/mongoid/atomic/modifiers.rb', line 35 def tirar_todo(modificaciones) modificaciones.each_pair hacer |Campo, Valor| add_operation(tirar_todos, Campo, Valor) pull_fields[Campo.división(".", 2)[0]] = Campo end end |
#push(modificaciones) ⇒ Objeto
Adds push modifiers to the modifiers hash.
61 62 63 64 65 66 67 |
# File 'lib/mongoid/atomic/modifiers.rb', line 61 def push(modificaciones) modificaciones.each_pair hacer |Campo, Valor| push_fields[Campo] = Campo mods = ¿conflicto_de_empuje?(Campo) ? empujones conflictivos : empuja add_operation(mods, Campo, { '$each' => Arreglo.envolver(Valor) }) end end |
#set(modificaciones) ⇒ objeto
Agrega operaciones de conjunto al hash de modificadores.
75 76 77 78 79 80 81 82 |
# File 'lib/mongoid/atomic/modifiers.rb', line 75 def conjunto(modificaciones) modificaciones.each_pair hacer |Campo, Valor| siguiente si Campo == "_identificación" mods = set_conflict?(Campo) ? conflicting_sets : conjuntos add_operation(mods, Campo, Valor) set_fields[Campo.división(".", 2)[0]] = Campo end end |
#unset(modificaciones) ⇒ Objeto
Añade operaciones unset al hash de modificadores.
90 91 92 93 94 |
# File 'lib/mongoid/atomic/modifiers.rb', line 90 def desarmado(modificaciones) modificaciones.cada hacer |Campo| No establecidos.update(Campo => true) end end |