mangusta 0.4.0 → 0.4.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/lib/mangusta.ir +4 -2
- data/lib/mangusta/core_ext/mongo.rb +0 -10
- data/lib/mangusta/documento.ir +3 -3
- data/lib/mangusta/documento/relazione.ir +6 -5
- data/lib/mangusta/ripostiglio.ir +12 -8
- data/lib/mangusta/utilit/303/240/convertitori.ir +3 -3
- data/lib/mangusta/versione.ir +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 34e54505d74f725f68f16e6c80bee4a548d5c09345b2e86494aeaed76e76278e
|
4
|
+
data.tar.gz: '0904487e9df8873b90d70a1a5d9bf84d564a8d0c5010cff5f93fcff1ff291d86'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b249cd6b10cc43aa54fd449b69bda05645d81ef632fde346acc52a5fefdc51cb54ea32f056a5d144d5980d9e5a88d4657bb7cee8497bfb64628ed4aec9c537a0
|
7
|
+
data.tar.gz: 754ca388a432a0c81adbb2cbae00efaf38696bcb98d06065306946d548f0420e6b68c30b1fadc27aab1493d56ef10d83630acfafaef44399c2332e3a5ef71bd4
|
data/.gitignore
CHANGED
data/lib/mangusta.ir
CHANGED
data/lib/mangusta/documento.ir
CHANGED
@@ -144,7 +144,7 @@ modulo Mangusta
|
|
144
144
|
##
|
145
145
|
# Genera un nuovo id.
|
146
146
|
definisci _genera_nuovo_id
|
147
|
-
imposta_valore :_id,
|
147
|
+
imposta_valore :_id, IdOggetto.nuovo
|
148
148
|
fine
|
149
149
|
|
150
150
|
##
|
@@ -154,11 +154,11 @@ modulo Mangusta
|
|
154
154
|
fine
|
155
155
|
|
156
156
|
##
|
157
|
-
# Converte in
|
157
|
+
# Converte in IdOggetto una stringa.
|
158
158
|
# Se la conversione fallisce, ritorna la stringa iniziale.
|
159
159
|
definisci _converti_in_id(stringa)
|
160
160
|
ritorna stringa se stringa.non_è_una? Stringa
|
161
|
-
|
161
|
+
IdOggetto.converti(stringa)
|
162
162
|
recupera
|
163
163
|
stringa
|
164
164
|
fine
|
@@ -67,7 +67,7 @@ modulo Mangusta
|
|
67
67
|
definisci _risolvi_ha_molti(documento)
|
68
68
|
se @documenti_in_memoria.esiste?
|
69
69
|
@documenti_in_memoria.seleziona esegui |documento_relazionato|
|
70
|
-
documento_relazionato.nome_campo_relazionato == documento._id
|
70
|
+
documento_relazionato.ottieni_valore(nome_campo_relazionato) == documento._id
|
71
71
|
fine
|
72
72
|
altrimenti
|
73
73
|
_ripostiglio.cerca(nome_campo_relazionato => documento._id).lista
|
@@ -108,19 +108,20 @@ modulo Mangusta
|
|
108
108
|
# Aggiorna la relazione `ha e appartiene a molti`.
|
109
109
|
definisci _propaga_ha_e_appartiene_a_molti(documento, documenti_relazionati)
|
110
110
|
se documenti_relazionati.non_è_una? Lista o
|
111
|
-
documenti_relazionati.alcuni? { |documento_relazionato| documento_relazionato.non_è_un?
|
111
|
+
documenti_relazionati.alcuni? { |documento_relazionato| documento_relazionato.non_è_un? IdOggetto }
|
112
112
|
alza ErrorePropagazione, "Per propagare la relazione `ha_e_appartiene_a_molti` "\
|
113
|
-
"è necessario passare una Lista di elementi di classe
|
113
|
+
"è necessario passare una Lista di elementi di classe IdOggetto"
|
114
114
|
fine
|
115
115
|
|
116
116
|
collezione_relazionata = Mangusta.connessione[_ripostiglio._nome_collezione]
|
117
|
-
ricerca_documenti_relazionati = Mappa[_id: Mappa["$in": documenti_relazionati]]
|
118
117
|
|
119
118
|
se documenti_relazionati.almeno_uno?
|
119
|
+
ricerca_documenti_relazionati = Mappa[_id: Mappa["$in": documenti_relazionati]]
|
120
120
|
collezione_relazionata.aggiorna_molti ricerca_documenti_relazionati,
|
121
121
|
"$addToSet" => Mappa[nome_campo_relazionato => documento._id]
|
122
122
|
altrimenti
|
123
|
-
|
123
|
+
ricerca_documenti_relazionati = Mappa(nome_campo_relazionato => Mappa("$type": "array"))
|
124
|
+
collezione_relazionata.aggiorna_molti ricerca_documenti_relazionati,
|
124
125
|
"$pullAll" => Mappa[nome_campo_relazionato => [ documento._id ]]
|
125
126
|
fine
|
126
127
|
fine
|
data/lib/mangusta/ripostiglio.ir
CHANGED
@@ -59,7 +59,7 @@ modulo Mangusta
|
|
59
59
|
##
|
60
60
|
# Cerca documento per id, e ritorna il primo trovato.
|
61
61
|
definisci cerca_per_id(id)
|
62
|
-
_risultato_ricerca(_id:
|
62
|
+
_risultato_ricerca(_id: IdOggetto.converti(id)).primo
|
63
63
|
fine
|
64
64
|
|
65
65
|
##
|
@@ -93,9 +93,10 @@ modulo Mangusta
|
|
93
93
|
alza "L'argomento passato deve essere un #{_nome_classe_documento} o una Mappa" se
|
94
94
|
documento.non_è_un? _classe_documento e documento.non_è_una? Mappa
|
95
95
|
|
96
|
-
documento_in_json = Mangusta::Utilità.converti_in_json
|
97
|
-
documento_in_json.deposita :_id,
|
96
|
+
documento_in_json = Mangusta::Utilità.converti_in_json documento
|
97
|
+
documento_in_json.deposita :_id, IdOggetto.nuovo se documento_in_json.non_ha_chiave? :_id
|
98
98
|
_collezione.inserisci_uno documento_in_json
|
99
|
+
|
99
100
|
documento = Mangusta::Utilità.converti_in_documento documento, _classe_documento
|
100
101
|
_propaga_relazioni documento, documento_in_json
|
101
102
|
documento
|
@@ -117,10 +118,13 @@ modulo Mangusta
|
|
117
118
|
alza "Il primo argomento deve essere una Stringa o un documento" a_meno_che
|
118
119
|
documento.è_una? Stringa o documento.risponde_a? :_id
|
119
120
|
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
cerca_per_id
|
121
|
+
documento = cerca_per_id id_documento.in_id se documento.è_una? Stringa
|
122
|
+
_collezione.aggiorna_uno Mappa[_id: documento._id], Mappa["$set" => valori_da_aggiornare]
|
123
|
+
|
124
|
+
documento = cerca_per_id documento._id
|
125
|
+
documento_in_json = Mangusta::Utilità.converti_in_json documento
|
126
|
+
_propaga_relazioni documento, documento_in_json
|
127
|
+
documento
|
124
128
|
fine
|
125
129
|
|
126
130
|
##
|
@@ -147,7 +151,7 @@ modulo Mangusta
|
|
147
151
|
documento.è_una? Stringa o documento.risponde_a? :_id
|
148
152
|
|
149
153
|
id_documento = documento.risponde_a?(:_id) ? documento._id : documento
|
150
|
-
id_documento =
|
154
|
+
id_documento = IdOggetto.converti id_documento
|
151
155
|
risultato_cancellazione = _collezione.cancella_uno Mappa[_id: id_documento]
|
152
156
|
risultato_cancellazione.deleted_count
|
153
157
|
fine
|
@@ -15,9 +15,9 @@ modulo Mangusta
|
|
15
15
|
prossimo se valore_campo.nullo?
|
16
16
|
se campo.nome.in? documento.relazioni.mappa(&:nome_campo)
|
17
17
|
inizia
|
18
|
-
valore_campo =
|
19
|
-
valore_campo = valore_campo.mappa { |singolo_valore|
|
20
|
-
recupera
|
18
|
+
valore_campo = IdOggetto.converti valore_campo se valore_campo.è_una? Stringa
|
19
|
+
valore_campo = valore_campo.mappa { |singolo_valore| IdOggetto.converti singolo_valore } se valore_campo.è_una? Lista
|
20
|
+
recupera IdOggetto::Invalid
|
21
21
|
fine
|
22
22
|
fine
|
23
23
|
documento_convertito.deposita campo.nome, valore_campo
|
data/lib/mangusta/versione.ir
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mangusta
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Francesco Ballardin
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-05-
|
11
|
+
date: 2020-05-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: italian-ruby
|