mangusta 0.4.1 → 0.4.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: 15eb923a10368b0469a56d1f2bd242d4cb4db9b620507a112b88019513545f8a
4
- data.tar.gz: 07c350dee9fd7b7030dc2af7bd8d8e97629644de1eb7eef1678f82aef53a1cda
3
+ metadata.gz: 4d2f20cc69e65ae5f20dc801665a0251238fb74ddb128a3952616c62145aac15
4
+ data.tar.gz: 04bcf00cb49c97528926b9fd5b0338f92718a99dfc35c68ca570c1ea811e076e
5
5
  SHA512:
6
- metadata.gz: '091623e71fef9b3cc84a3134bafdcc9fe324389bdbdbcc8fd7f4b40db0ee4f3ffd81b8bcf470d2a05b856364ffa547ce39c9c9d996d5f95ad71b136b77db9a34'
7
- data.tar.gz: c97bb990f0b7e0cdffd0e29ec1c0222e7f881ab989967605aa59e839e35a867fc4d397056fb9b438921494fd0292c2131f58ac9001de0d7343ba1075e20ebd62
6
+ metadata.gz: 4a913616f90146b989f11582d7d2c4a401983cc1841f3f87c4f5d63c555a401e5f5dac6177e280f7671b6ec49ebf5ad0e3cbba2d060bd9be1ad1ba7196ecd79a
7
+ data.tar.gz: 023f8792d2c6d8d45310a7e3c09def270db9c6a3966c7a97bc5308e32a213b3b03dd18fabc4f427b2ae8060dce1101c967fe792082b3518f050930bc91685d21
data/.gitignore CHANGED
@@ -6,6 +6,7 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ /.italian-ruby/
9
10
 
10
11
  # rspec failure tracking
11
12
  .rspec_status
@@ -1,6 +1,7 @@
1
- require "mongo"
2
- require "italian/ruby/core_ext/gems/bson"
3
- require_relative "mangusta/core_ext/mongo"
1
+ richiedi "bson"
2
+ richiedi "mongo"
3
+ richiedi "italian/ruby/core_ext/gems/bson"
4
+ richiedi_relativo "mangusta/core_ext/mongo"
4
5
  richiedi_tutti "mangusta"
5
6
 
6
7
  modulo Mangusta
@@ -19,8 +20,8 @@ modulo Mangusta
19
20
  ritorna connessione se connessione.esiste?
20
21
 
21
22
  se_stessa.connessione = Mongo::Client.nuovo(
22
- [ parametri.ottieni(:indirizzo) ],
23
- database: parametri.ottieni(:base_dati))
23
+ [ parametri.prendi(:indirizzo) ],
24
+ database: parametri.prendi(:base_dati))
24
25
 
25
26
  se_stessa.base_dati = connessione.database
26
27
  se_stessa.collezioni = base_dati.collections
@@ -13,7 +13,9 @@ modulo Mangusta
13
13
  # includi Mangusta::Documento
14
14
  #
15
15
  # campo :titolo, valore_iniziale: "Il Signore degli Anelli"
16
- # appartiene_a :autore, classe: "Autore"
16
+ # appartiene_a :autore,
17
+ # ripostiglio: "RipostiglioAutori",
18
+ # nome_campo: :id_autore
17
19
  # fine
18
20
  #
19
21
  # Il metodo di classe `campo` ha come primo argomento obbligatorio il nome del campo,
@@ -120,7 +122,7 @@ modulo Mangusta
120
122
  # Accede al valore dell'attributo originale del documento,
121
123
  # passando oltre gli accessori, per accedere a campi non modellati.
122
124
  definisci [](attributo)
123
- @_attributi_originali.ottieni attributo
125
+ @_attributi_originali.prendi attributo
124
126
  fine
125
127
 
126
128
  ##
@@ -150,7 +152,7 @@ modulo Mangusta
150
152
  ##
151
153
  # Genera il puntatore al documento padre.
152
154
  definisci _genera_documento_padre(**attributi)
153
- @_padre = attributi.ottieni :_padre
155
+ @_padre = attributi.prendi :_padre
154
156
  fine
155
157
 
156
158
  ##
@@ -11,7 +11,7 @@ modulo Mangusta
11
11
  # Imposta nome e valore iniziale.
12
12
  definisci inizializzatore(nome, **parametri)
13
13
  se_stesso.nome = nome
14
- se_stesso.valore_iniziale = parametri.ottieni(:valore_iniziale, nullo)
14
+ se_stesso.valore_iniziale = parametri.prendi(:valore_iniziale, nullo)
15
15
  fine
16
16
 
17
17
  ##
@@ -34,18 +34,18 @@ modulo Mangusta
34
34
 
35
35
  @campi_richiesti.per_ognuno esegui |campo_richiesto|
36
36
  prossimo se campo_richiesto.non_è_un? Simbolo
37
- esposizione_filtrata.deposita campo_richiesto, @documento_convertito.ottieni(campo_richiesto, nullo)
37
+ esposizione_filtrata.deposita campo_richiesto, @documento_convertito.prendi(campo_richiesto, nullo)
38
38
  fine
39
39
 
40
40
  @relazioni_dirette.per_ognuna esegui |relazione_richiesta|
41
41
  alza Relazione::NonInclusa, "per poter esporre la relazione `#{relazione_richiesta}` è necessario prima includerla" se
42
42
  relazione_richiesta.non_è_un? Simbolo o @documento_convertito.non_ha_chiave? relazione_richiesta
43
- esposizione_filtrata.deposita relazione_richiesta, @documento_convertito.ottieni(relazione_richiesta)
43
+ esposizione_filtrata.deposita relazione_richiesta, @documento_convertito.prendi(relazione_richiesta)
44
44
  fine
45
45
 
46
46
  @relazioni_richieste.per_ognuna esegui |nome_relazione, campi_relazione_richiesti|
47
47
  prossima se campi_relazione_richiesti.non_è_una? Lista
48
- valore_relazione = @documento_convertito.ottieni nome_relazione, nulla
48
+ valore_relazione = @documento_convertito.prendi nome_relazione, nulla
49
49
  se valore_relazione.è_una? Mappa
50
50
  esposizione_filtrata.deposita nome_relazione, valore_relazione
51
51
  .seleziona { |chiave, valore| chiave.in? campi_relazione_richiesti }
@@ -12,8 +12,8 @@ modulo Mangusta
12
12
  # Imposta nome e valore iniziale.
13
13
  definisci inizializzatore(nome, **parametri)
14
14
  se_stesso.nome = nome
15
- se_stesso.tipologia = parametri.ottieni(:tipologia)
16
- se_stesso.nome_classe = parametri.ottieni(:nome_classe)
15
+ se_stesso.tipologia = parametri.prendi(:tipologia)
16
+ se_stesso.nome_classe = parametri.prendi(:nome_classe)
17
17
  fine
18
18
 
19
19
  ##
@@ -12,9 +12,9 @@ modulo Mangusta
12
12
  definisci inizializzatore(tipologia, nome, **parametri)
13
13
  se_stessa.nome = nome
14
14
  se_stessa.tipologia = tipologia
15
- se_stessa.nome_ripostiglio = parametri.ottieni(:ripostiglio, nullo)
16
- se_stessa.nome_campo = parametri.ottieni(:nome_campo, nullo)
17
- se_stessa.nome_campo_relazionato = parametri.ottieni(:nome_campo_relazionato, nullo)
15
+ se_stessa.nome_ripostiglio = parametri.prendi(:ripostiglio, nullo)
16
+ se_stessa.nome_campo = parametri.prendi(:nome_campo, nullo)
17
+ se_stessa.nome_campo_relazionato = parametri.prendi(:nome_campo_relazionato, nullo)
18
18
 
19
19
  alza NonValida, "È necessario specificare una chiave :ripostiglio per la relazione" se
20
20
  nome_ripostiglio.nullo?
@@ -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
@@ -114,13 +114,14 @@ modulo Mangusta
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
- collezione_relazionata.aggiorna_molti Mappa.nuova,
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
@@ -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(documento)
96
+ documento_in_json = Mangusta::Utilità.converti_in_json documento
97
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
- id_documento = documento.risponde_a?(:_id) ? documento._id : documento
121
- id_documento = IdOggetto.converti id_documento
122
- _collezione.aggiorna_uno Mappa[_id: id_documento], Mappa["$set" => valori_da_aggiornare]
123
- cerca_per_id(id_documento)
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
  ##
@@ -189,7 +193,7 @@ modulo Mangusta
189
193
  definisci _propaga_relazioni(documento, documento_in_json)
190
194
  _classe_documento.relazioni.per_ognuna esegui |relazione|
191
195
  se documento_in_json.ha_chiave? relazione.nome_campo
192
- relazione.propaga documento, documento_in_json.ottieni(relazione.nome_campo)
196
+ relazione.propaga documento, documento_in_json.prendi(relazione.nome_campo)
193
197
  fine
194
198
  fine
195
199
  fine
@@ -1,3 +1,3 @@
1
1
  modulo Mangusta
2
- VERSIONE = "0.4.1"
2
+ VERSIONE = "0.4.6"
3
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.4.1
4
+ version: 0.4.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-05-13 00:00:00.000000000 Z
11
+ date: 2020-06-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: italian-ruby