mangusta 0.5.1 → 0.5.6
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/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
|