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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 49b950b29288f62b001196c2cc8e83b1674632fd2bee8bacef704e02fb005519
4
- data.tar.gz: 43054e3798ef9d928e53e6d4447ca171baefcf8e541f8e52a7a9ab747f074ea5
3
+ metadata.gz: b42f62ed201e51944daadb8650976b95e82cfb67026b7cb7122bcbead2a6fbf2
4
+ data.tar.gz: 93ed18dc2338853ba397f37f28fb53fdaea1a7babfd58a8ccdfa3d0f22eaeca7
5
5
  SHA512:
6
- metadata.gz: 2843f5cd6fcea9ca2cb309bf91126c9ea69657dcc71477f6882f03469027741e56539191c548f65e677aa487a36131f7dbf900c37670e7ffd3751ae72557eb07
7
- data.tar.gz: 8dba3fe8fe669baba77432f0ba5d265decfeb81207b9117badf873292eb81b2c94a8cf789015741e21f24d0e88c80314f7cf06f36d201b2a8ea44a5ecc3d0e30
6
+ metadata.gz: 6b900805ca70cc192ce5eac7693cda044a565520a0df47bbcf955142e013bb28aa25942301c0d86a466a11e0b1be4afa5e58f6f79bfe991aca9fce4748583a1b
7
+ data.tar.gz: 7643b5e8b74c919c195ec5e56d4fa57bc72a53cdf29b49b0e884fbcddebea4ee9a7c150d6e7e63237219a259447f47a3861cc4ca65b88a744a0a355b6cc11109
@@ -70,10 +70,13 @@ modulo Mangusta
70
70
 
71
71
  ##
72
72
  # Espone il documento come JSON.
73
- definisci esponi(*chiavi_richieste, **relazioni_richieste)
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.esiste?
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
- classe_documento_incorporato.nuovo
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} o una Mappa" se
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
- "#<#{se_stesso.classe} #{se_stesso.esponi}>"
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
@@ -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.esiste?
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
- Mangusta.connessione[se_stesso.nome_collezione]
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.esponi
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(&:esponi)
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
@@ -1,3 +1,3 @@
1
1
  modulo Mangusta
2
- VERSIONE = "0.5.1"
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.1
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-06-17 00:00:00.000000000 Z
11
+ date: 2020-08-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: italian-ruby