mangusta 0.5.1 → 0.5.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/mangusta/documento.ir +5 -2
- data/lib/mangusta/documento/campo.ir +4 -2
- data/lib/mangusta/documento/espositore.ir +3 -1
- data/lib/mangusta/documento/incorporato.ir +10 -4
- data/lib/mangusta/documento/metodi_condivisi.ir +13 -2
- data/lib/mangusta/ripostiglio.ir +17 -6
- data/lib/mangusta/versione.ir +2 -2
- 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: b42f62ed201e51944daadb8650976b95e82cfb67026b7cb7122bcbead2a6fbf2
|
4
|
+
data.tar.gz: 93ed18dc2338853ba397f37f28fb53fdaea1a7babfd58a8ccdfa3d0f22eaeca7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6b900805ca70cc192ce5eac7693cda044a565520a0df47bbcf955142e013bb28aa25942301c0d86a466a11e0b1be4afa5e58f6f79bfe991aca9fce4748583a1b
|
7
|
+
data.tar.gz: 7643b5e8b74c919c195ec5e56d4fa57bc72a53cdf29b49b0e884fbcddebea4ee9a7c150d6e7e63237219a259447f47a3861cc4ca65b88a744a0a355b6cc11109
|
data/lib/mangusta/documento.ir
CHANGED
@@ -70,10 +70,13 @@ modulo Mangusta
|
|
70
70
|
|
71
71
|
##
|
72
72
|
# Espone il documento come JSON.
|
73
|
-
definisci
|
73
|
+
definisci _esponi(*chiavi_richieste, **relazioni_richieste)
|
74
74
|
espositore = Mangusta::Documento::Espositore.nuovo se_stesso, *chiavi_richieste, **relazioni_richieste
|
75
75
|
espositore.esponi
|
76
76
|
fine
|
77
|
+
definisci esponi(*chiavi_richieste, **relazioni_richieste)
|
78
|
+
_esponi *chiavi_richieste, **relazioni_richieste
|
79
|
+
fine
|
77
80
|
alias :in_mappa :esponi
|
78
81
|
|
79
82
|
##
|
@@ -115,4 +118,4 @@ modulo Mangusta
|
|
115
118
|
fine
|
116
119
|
|
117
120
|
fine
|
118
|
-
fine
|
121
|
+
fine
|
@@ -21,7 +21,7 @@ modulo Mangusta
|
|
21
21
|
##
|
22
22
|
# Determina se il campo è stato creato con un valore iniziale.
|
23
23
|
definisci ha_valore_iniziale?
|
24
|
-
se_stesso.valore_iniziale
|
24
|
+
se_stesso.valore_iniziale != nullo
|
25
25
|
fine
|
26
26
|
|
27
27
|
##
|
@@ -43,6 +43,8 @@ modulo Mangusta
|
|
43
43
|
|
44
44
|
se valore_campo.risponde_a? :simbolizza
|
45
45
|
valore_campo.simbolizza
|
46
|
+
altrimenti_se valore_campo.risponde_a? :localizza
|
47
|
+
valore_campo.localizza
|
46
48
|
altrimenti
|
47
49
|
valore_campo
|
48
50
|
fine
|
@@ -56,4 +58,4 @@ modulo Mangusta
|
|
56
58
|
|
57
59
|
fine
|
58
60
|
fine
|
59
|
-
fine
|
61
|
+
fine
|
@@ -76,6 +76,8 @@ modulo Mangusta
|
|
76
76
|
definisci _esponi_incorporati_interi_su(documento_esposto)
|
77
77
|
@incorporati_interi.per_ognuno esegui |incorporato|
|
78
78
|
valore_incorporato = @documento.manda incorporato.nome
|
79
|
+
prossimo se valore_incorporato.nullo?
|
80
|
+
|
79
81
|
considera incorporato.tipologia
|
80
82
|
quando :singolo
|
81
83
|
documento_esposto.deposita incorporato.nome, valore_incorporato.esponi
|
@@ -141,4 +143,4 @@ modulo Mangusta
|
|
141
143
|
|
142
144
|
fine
|
143
145
|
fine
|
144
|
-
fine
|
146
|
+
fine
|
@@ -11,6 +11,7 @@ modulo Mangusta
|
|
11
11
|
accessore :nome
|
12
12
|
accessore :tipologia
|
13
13
|
accessore :nome_classe
|
14
|
+
accessore :autogenera
|
14
15
|
|
15
16
|
##
|
16
17
|
# Imposta nome e valore iniziale.
|
@@ -18,6 +19,7 @@ modulo Mangusta
|
|
18
19
|
se_stesso.nome = nome
|
19
20
|
se_stesso.tipologia = tipologia
|
20
21
|
se_stesso.nome_classe = parametri.prendi(:nome_classe)
|
22
|
+
se_stesso.autogenera = parametri.prendi(:autogenera, si)
|
21
23
|
fine
|
22
24
|
|
23
25
|
##
|
@@ -60,7 +62,11 @@ modulo Mangusta
|
|
60
62
|
# Ottiene il documento come singolo.
|
61
63
|
definisci _ottieni_singolo_da(valore_grezzo)
|
62
64
|
se valore_grezzo.nullo?
|
63
|
-
|
65
|
+
se autogenera
|
66
|
+
classe_documento_incorporato.nuovo
|
67
|
+
altrimenti
|
68
|
+
nullo
|
69
|
+
fine
|
64
70
|
altrimenti_se valore_grezzo.è_una? Mappa
|
65
71
|
classe_documento_incorporato.nuovo **(valore_grezzo.fondi _padre: padre)
|
66
72
|
altrimenti_se valore_grezzo.è_un? classe_documento_incorporato
|
@@ -93,8 +99,8 @@ modulo Mangusta
|
|
93
99
|
##
|
94
100
|
# Assegna il valore al documento incorporato singolo.
|
95
101
|
definisci _assegna_singolo_da(padre, valore)
|
96
|
-
alza NonValido, "l'argomento passato deve essere un #{nome_classe}
|
97
|
-
valore.non_è_un? classe_documento_incorporato e valore.non_è_una? Mappa
|
102
|
+
alza NonValido, "l'argomento passato deve essere un #{nome_classe}, una Mappa o nullo" se
|
103
|
+
valore.non_è_un? classe_documento_incorporato e valore.non_è_una? Mappa e valore.non_è_nullo?
|
98
104
|
|
99
105
|
se valore.è_una? Mappa
|
100
106
|
documento_incorporato = classe_documento_incorporato.nuovo **(valore.fondi _padre: padre)
|
@@ -134,4 +140,4 @@ modulo Mangusta
|
|
134
140
|
|
135
141
|
fine
|
136
142
|
fine
|
137
|
-
fine
|
143
|
+
fine
|
@@ -14,10 +14,21 @@ modulo Mangusta
|
|
14
14
|
se_stesso == documento
|
15
15
|
fine
|
16
16
|
|
17
|
+
##
|
18
|
+
# Rappresentazione univoca del documento.
|
19
|
+
# Utilizzato dal metodo `rimuovi_duplicati` di una Lista.
|
20
|
+
definisci hash
|
21
|
+
_id.in_stringa.hash
|
22
|
+
fine
|
23
|
+
|
17
24
|
##
|
18
25
|
# Ottiene la rappresentazione per stampa dell'oggetto.
|
19
26
|
definisci inspect
|
20
|
-
|
27
|
+
se definito? AwesomePrint
|
28
|
+
ai
|
29
|
+
altrimenti
|
30
|
+
"#<#{se_stesso.classe} #{se_stesso.esponi}>"
|
31
|
+
fine
|
21
32
|
fine
|
22
33
|
definisci ai(opzioni = Mappa.nuova)
|
23
34
|
se definito? AwesomePrint
|
@@ -30,4 +41,4 @@ modulo Mangusta
|
|
30
41
|
|
31
42
|
fine
|
32
43
|
fine
|
33
|
-
fine
|
44
|
+
fine
|
data/lib/mangusta/ripostiglio.ir
CHANGED
@@ -41,6 +41,7 @@ modulo Mangusta
|
|
41
41
|
estendi Mangusta::Ripostiglio::MetodiDiClasse::Persistenza
|
42
42
|
|
43
43
|
classe << se_stesso
|
44
|
+
accessore :nome_base_dati
|
44
45
|
accessore :nome_collezione
|
45
46
|
accessore :nome_classe_documento
|
46
47
|
accessore :classe_documento
|
@@ -55,14 +56,23 @@ modulo Mangusta
|
|
55
56
|
##
|
56
57
|
# Ritorna l'oggetto collezione agganciato a questo ripostiglio.
|
57
58
|
# Se chiamato con argomento, imposta la collezione all'argomento passato.
|
58
|
-
definisci collezione(nome_collezione_da_impostare = nullo)
|
59
|
-
se nome_collezione_da_impostare.
|
59
|
+
definisci collezione(nome_collezione_da_impostare = nullo, base_dati: nullo)
|
60
|
+
se nome_collezione_da_impostare.specificato?
|
60
61
|
se_stesso.nome_collezione = nome_collezione_da_impostare
|
62
|
+
se_stesso.nome_base_dati = base_dati se base_dati.specificata?
|
61
63
|
ritorna nome_collezione
|
62
64
|
fine
|
63
65
|
|
64
66
|
alza "Mangusta non è ancora stato connesso ad una base dati" se Mangusta.connessione.nulla?
|
65
|
-
|
67
|
+
|
68
|
+
se se_stesso.nome_base_dati.specificato?
|
69
|
+
basi_dati = Mangusta.connessione.list_mongo_databases
|
70
|
+
base_dati = basi_dati.trova { |base_dati| base_dati.name == se_stesso.nome_base_dati }
|
71
|
+
alza "la base dati `#{se_stesso.nome_base_dati}` non esiste" se basi_dati.non_esiste?
|
72
|
+
base_dati[se_stesso.nome_collezione]
|
73
|
+
altrimenti
|
74
|
+
Mangusta.connessione[se_stesso.nome_collezione]
|
75
|
+
fine
|
66
76
|
fine
|
67
77
|
|
68
78
|
##
|
@@ -103,6 +113,7 @@ modulo Mangusta
|
|
103
113
|
alza "l'id deve essere una Stringa o un IdOggetto" se id.non_è_una? Stringa e id.non_è_un? IdOggetto
|
104
114
|
primo_per _id: IdOggetto.converti(id)
|
105
115
|
fine
|
116
|
+
alias :id :cerca_per_id
|
106
117
|
|
107
118
|
##
|
108
119
|
# Ottiene il primo documento in base ai parametri di ricerca.
|
@@ -166,7 +177,7 @@ modulo Mangusta
|
|
166
177
|
# Inserisce un documento nella collezione.
|
167
178
|
definisci inserisci(documento)
|
168
179
|
se documento.è_un? classe_documento
|
169
|
-
collezione.inserisci_uno documento.
|
180
|
+
collezione.inserisci_uno documento._esponi
|
170
181
|
documento_da_ritornare = documento
|
171
182
|
altrimenti_se documento.è_una? Mappa
|
172
183
|
collezione.inserisci_uno documento
|
@@ -185,7 +196,7 @@ modulo Mangusta
|
|
185
196
|
alza "i documenti da inserire devono essere una Lista" se documenti.non_è_una? Lista
|
186
197
|
|
187
198
|
se documenti.tutti? { |documento| documento.è_un? classe_documento }
|
188
|
-
collezione.inserisci_molti documenti.mappa(&:
|
199
|
+
collezione.inserisci_molti documenti.mappa(&:_esponi)
|
189
200
|
altrimenti_se documenti.tutti? { |documento| documento.è_una? Mappa }
|
190
201
|
collezione.inserisci_molti documenti
|
191
202
|
altrimenti
|
@@ -288,4 +299,4 @@ modulo Mangusta
|
|
288
299
|
fine
|
289
300
|
|
290
301
|
fine
|
291
|
-
fine
|
302
|
+
fine
|
data/lib/mangusta/versione.ir
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
modulo Mangusta
|
2
|
-
VERSIONE = "0.5.
|
3
|
-
fine
|
2
|
+
VERSIONE = "0.5.6"
|
3
|
+
fine
|
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.5.
|
4
|
+
version: 0.5.6
|
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-
|
11
|
+
date: 2020-08-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: italian-ruby
|