Classe: Mongoid::Atomic::Modifiers
- Herda:
-
Hash
- Objeto
- Hash
- Mongoid::Atomic::Modifiers
- Definido em:
- lib/mongoid/atomic/modifiers.rb
Visão geral
Essa classe contém a lógica para suportar operações atômicas no banco de banco de dados.
Recolhimento do Resumo do método de instância
-
#add_to_set(modifications) ➤ Object
Adicione os modificadores atômicos $addToSet ao hash.
-
#pull(modificações) ➤ Objeto
Adiciona todos os modificadores ao hash de modificadores.
-
#pull_all(modifications) ➤ Object
Adiciona todos os modificadores ao hash de modificadores.
-
#push(modificações) ➤ Objeto
Adiciona modificadores push ao hash de modificadores.
-
#set(modificações) ➤ Objeto
Adiciona operações definidas ao hash de modificadores.
-
#desconfigurar(modificações) ➤ Objeto
Adiciona operações de desconfiguração ao hash de modificadores.
Detalhes do método de instância
#add_to_set(modifications) ➤ Object
Adicione os modificadores atômicos $addToSet ao hash.
17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/mongoid/atomic/modifiers.rb', line 17 def add_to_set(modificações) modificações.cada_pair fazer |Campo, valor| se add_to_sets.has_key?(Campo) valor.cada fazer |valid| add_to_sets[Campo]["$each"].push(valid) end mais add_to_sets[Campo] = { "$each" => valor } end end end |
#pull(modificações) ➤ Objeto
Adiciona todos os modificadores ao hash de modificadores.
48 49 50 51 52 53 |
# File 'lib/mongoid/atomic/modifiers.rb', line 48 def pull(modificações) modificações.cada_pair fazer |Campo, valor| puxa[Campo] = valor pull_fields[Campo.dividir(".", 2)[0]] = Campo end end |
#pull_all(modifications) ➤ Object
Adiciona todos os modificadores ao hash de modificadores.
35 36 37 38 39 40 |
# File 'lib/mongoid/atomic/modifiers.rb', line 35 def pull_all(modificações) modificações.cada_pair fazer |Campo, valor| add_operation(pull_alls, Campo, valor) pull_fields[Campo.dividir(".", 2)[0]] = Campo end end |
#push(modificações) ➤ Objeto
Adiciona modificadores push ao hash de modificadores.
61 62 63 64 65 66 67 |
# File 'lib/mongoid/atomic/modifiers.rb', line 61 def push(modificações) modificações.cada_pair fazer |Campo, valor| push_fields[Campo] = Campo mods = push_conflict?(Campo) ? conflitantes_pushes : push(s) add_operation(mods, Campo, { '$each' => Array.wrap(valor) }) end end |
#set(modificações) ➤ Objeto
Adiciona operações definidas ao hash de modificadores.
75 76 77 78 79 80 81 82 |
# File 'lib/mongoid/atomic/modifiers.rb', line 75 def set(modificações) modificações.cada_pair fazer |Campo, valor| próximo se Campo == "_id" mods = set_conflict?(Campo) ? conflitante_conjuntos : Conjuntos add_operation(mods, Campo, valor) set_fields[Campo.dividir(".", 2)[0]] = Campo end end |
#desconfigurar(modificações) ➤ Objeto
Adiciona operações de desconfiguração ao hash de modificadores.
90 91 92 93 94 |
# File 'lib/mongoid/atomic/modifiers.rb', line 90 def Desconfigurar(modificações) modificações.cada fazer |Campo| Desconfigura.update(Campo => true) end end |