mangusta 0.1.8 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/mangusta/ripostiglio.ir +26 -21
- data/lib/mangusta/versione.ir +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4e5ccca4627ba78909bda3316957a8590139ece2e2a28d85f49f6bafa04c25c8
|
4
|
+
data.tar.gz: d73fde5f9abe2a592548605082c415da339476714922fb9c412aa5ae2ea3ce6c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d091dfc894066b6ebc74a0a6599304e5b878490028004711d2caa049c9a1604f913ba1421311d441f150c8b94791cc05938109ed4b8a72b4c811ab206826fbc9
|
7
|
+
data.tar.gz: 2059790ab31eb918f38157f55bd9f03825ca70dc473428247b05e9825889ba375487beb8c2044a49993def8adc98ba6f138d355e2a51df86b7e52b904ae2c993
|
data/lib/mangusta/ripostiglio.ir
CHANGED
@@ -106,7 +106,7 @@ modulo Mangusta
|
|
106
106
|
# Aggiorna un documento.
|
107
107
|
definisci aggiorna(documento, **valori_da_aggiornare)
|
108
108
|
alza "Il primo argomento deve essere una Stringa o un documento" a_meno_che
|
109
|
-
documento
|
109
|
+
documento.è_una? Stringa o documento.risponde_a? :_id
|
110
110
|
|
111
111
|
id_documento = documento.risponde_a?(:_id) ? documento._id : documento
|
112
112
|
id_documento = BSON::ObjectId id_documento
|
@@ -117,22 +117,8 @@ modulo Mangusta
|
|
117
117
|
##
|
118
118
|
# Aggiorna molti documenti.
|
119
119
|
definisci aggiorna_molti(ricerca = Mappa.nuova, **valori_da_aggiornare)
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
ricerca_è_una_lista_documenti = no
|
124
|
-
se ricerca.classe != Mappa
|
125
|
-
ricerca_è_una_lista_documenti = ricerca.tutti? { |documento| documento.risponde_a? :_id }
|
126
|
-
alza "Il primo argomento è una Lista, ma non di documenti" a_meno_che ricerca_è_una_lista_documenti
|
127
|
-
fine
|
128
|
-
|
129
|
-
se ricerca_è_una_lista_documenti
|
130
|
-
filtro_lista_id_documenti = Mappa["$in": ricerca.mappa(&:_id)]
|
131
|
-
ricerca = Mappa[_id: filtro_lista_id_documenti]
|
132
|
-
fine
|
133
|
-
|
134
|
-
risultato_aggiornamento = _collezione.aggiorna_molti ricerca,
|
135
|
-
Mappa["$set": valori_da_aggiornare]
|
120
|
+
documenti = _ricerca_per_lista_o_mappa ricerca
|
121
|
+
risultato_aggiornamento = _collezione.aggiorna_molti documenti, Mappa["$set": valori_da_aggiornare]
|
136
122
|
risultato_aggiornamento.modified_count
|
137
123
|
fine
|
138
124
|
alias :aggiorna_molte :aggiorna_molti
|
@@ -148,8 +134,8 @@ modulo Mangusta
|
|
148
134
|
##
|
149
135
|
# Cancella un documento.
|
150
136
|
definisci cancella(documento)
|
151
|
-
alza "Il primo argomento deve essere una
|
152
|
-
documento
|
137
|
+
alza "Il primo argomento deve essere una Stringa o un documento" a_meno_che
|
138
|
+
documento.è_una? Stringa o documento.risponde_a? :_id
|
153
139
|
|
154
140
|
id_documento = documento.risponde_a?(:_id) ? documento._id : documento
|
155
141
|
id_documento = BSON::ObjectId id_documento
|
@@ -159,8 +145,9 @@ modulo Mangusta
|
|
159
145
|
|
160
146
|
##
|
161
147
|
# Cancella molti documenti.
|
162
|
-
definisci cancella_molti(
|
163
|
-
|
148
|
+
definisci cancella_molti(ricerca = Mappa.nuova)
|
149
|
+
documenti = _ricerca_per_lista_o_mappa ricerca
|
150
|
+
risultato_cancellazione = _collezione.cancella_molti documenti
|
164
151
|
risultato_cancellazione.deleted_count
|
165
152
|
fine
|
166
153
|
alias :cancella_molte :cancella_molti
|
@@ -197,6 +184,24 @@ modulo Mangusta
|
|
197
184
|
fine
|
198
185
|
fine
|
199
186
|
|
187
|
+
##
|
188
|
+
# Ottieni ricerca per lista di documenti o lista di id.
|
189
|
+
definisci _ricerca_per_lista_o_mappa(ricerca = Mappa.nuova)
|
190
|
+
alza "Il primo argomento deve essere una Mappa o una Lista di documenti" a_meno_che
|
191
|
+
ricerca.è_una? Mappa o ricerca.risponde_a? :tutti?
|
192
|
+
|
193
|
+
ricerca_è_una_lista_documenti = no
|
194
|
+
se ricerca.non_è_una? Mappa
|
195
|
+
ricerca_è_una_lista_documenti = ricerca.tutti? { |documento| documento.risponde_a? :_id }
|
196
|
+
alza "Il primo argomento è una Lista, ma non di documenti" a_meno_che ricerca_è_una_lista_documenti
|
197
|
+
fine
|
198
|
+
|
199
|
+
se ricerca_è_una_lista_documenti
|
200
|
+
filtro_lista_id_documenti = Mappa["$in": ricerca.mappa(&:_id)]
|
201
|
+
ricerca = Mappa[_id: filtro_lista_id_documenti]
|
202
|
+
fine
|
203
|
+
fine
|
204
|
+
|
200
205
|
fine
|
201
206
|
fine
|
202
207
|
fine
|
data/lib/mangusta/versione.ir
CHANGED