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 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