mangusta 0.2.1 → 0.2.2

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: 6e9bccfcab50092daa43585eb043807a029067a91e83c42dc32786f68bfc3529
4
- data.tar.gz: 5826af398d95debdd5f51dc47023b92665f0a272c1b42b8ff9eb2bb1fb783e68
3
+ metadata.gz: 3ee95909c98b1608b6fa9d93c138f00330275ddb0a3ebc34348552b0de514500
4
+ data.tar.gz: c436453dc1ef4990e92c01f8bd96c9b6554a355f2169495e61846f3bcb561760
5
5
  SHA512:
6
- metadata.gz: e1730d4e6f4f7217fd6d69fd093ba4f83c9d99e1568cd603acb979e56a42a4018cc94a475dbbf7f960bd9bb408267c09eec0b9ef83cf90eeedae7d8bef96bdd0
7
- data.tar.gz: 7ed502f157ad32831c060c10f9f4658d01f93bd4154fe8dad8e119f11709c95d236dcd082b05c2da43a3333a0e9435180a34872750a38118854bcf10d0dc5d3b
6
+ metadata.gz: 8622487602a774da378be2e5141130d79b3e3e8ec063d5b77315542c10d3be3f270af2477a7bd0b6b85f268d9ea8b1a30e6f4883975d67e87b9bacffb5940a0e
7
+ data.tar.gz: 3716536c0423a9ee466d656e3bba3d6a4d0b92245aa3ae39660aa53fe3e0466fd80a04b3bd93484e54095043355769c54d6e692b0cfdb470af553a26594345ea
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- mangusta (0.2.0)
4
+ mangusta (0.2.1)
5
5
  italian-ruby (~> 0.1)
6
6
  mongo (~> 2.11)
7
7
 
@@ -10,7 +10,7 @@ GEM
10
10
  specs:
11
11
  bson (4.8.2)
12
12
  diff-lcs (1.3)
13
- italian-ruby (0.2.4)
13
+ italian-ruby (0.2.5)
14
14
  ruby2ruby (~> 2.4)
15
15
  mongo (2.11.4)
16
16
  bson (>= 4.4.2, < 5.0.0)
@@ -11,7 +11,6 @@ module Mongo
11
11
 
12
12
  class View
13
13
  alias :primo :first
14
- alias :prima :first
15
14
  alias :lista :entries
16
15
  end
17
16
  end
@@ -19,7 +19,7 @@ modulo Mangusta
19
19
  ##
20
20
  # Ottiene il valore per questo documento incorporato.
21
21
  definisci ottieni(padre)
22
- valore_originale = padre.ottieni_valore_campo nome
22
+ valore_originale = padre.ottieni_valore nome
23
23
  ritorna _inizializza_documento_incorporato(padre) se valore_originale.non_esiste?
24
24
 
25
25
  considera tipologia
@@ -31,7 +31,7 @@ modulo Mangusta
31
31
  fine
32
32
  fine
33
33
 
34
- padre.ottieni_valore_campo nome
34
+ padre.ottieni_valore nome
35
35
  fine
36
36
 
37
37
  ##
@@ -47,10 +47,10 @@ modulo Mangusta
47
47
  .converti_in_documento valore.fondi(_padre: padre), _classe_documento
48
48
  altrimenti
49
49
  documento_incorporato = valore
50
- documento_incorporato.imposta_valore_campo :_padre, padre
50
+ documento_incorporato.imposta_valore :_padre, padre
51
51
  fine
52
52
 
53
- padre.imposta_valore_campo nome, documento_incorporato
53
+ padre.imposta_valore nome, documento_incorporato
54
54
  documento_incorporato
55
55
  quando :multiplo
56
56
  alza NonValido, "L'argomento passato deve essere una Lista" se valore.non_è_una? Lista
@@ -67,11 +67,11 @@ modulo Mangusta
67
67
  altrimenti
68
68
  documenti_incorporati = valore
69
69
  documenti_incorporati.per_ognuno esegui |documento_incorporato|
70
- documento_incorporato.imposta_valore_campo :_padre, padre
70
+ documento_incorporato.imposta_valore :_padre, padre
71
71
  fine
72
72
  fine
73
73
 
74
- padre.imposta_valore_campo nome, documenti_incorporati
74
+ padre.imposta_valore nome, documenti_incorporati
75
75
  documenti_incorporati
76
76
  fine
77
77
  fine
@@ -90,13 +90,13 @@ modulo Mangusta
90
90
  considera tipologia
91
91
  quando :singolo
92
92
  documento_incorporato = _classe_documento.nuovo valore.fondi(_padre: padre)
93
- padre.imposta_valore_campo nome, documento_incorporato
93
+ padre.imposta_valore nome, documento_incorporato
94
94
  documento_incorporato
95
95
  quando :multiplo
96
96
  documenti_incorporati = valore.mappa esegui |singolo_valore|
97
97
  _classe_documento.nuovo valore.fondi(_padre: padre)
98
98
  fine
99
- padre.imposta_valore_campo nome, documenti_incorporati
99
+ padre.imposta_valore nome, documenti_incorporati
100
100
  documenti_incorporati
101
101
  fine
102
102
  fine
@@ -36,7 +36,7 @@ modulo Mangusta
36
36
  fine
37
37
 
38
38
  assegna **attributi
39
- _genera_nuovo_id se ottieni_valore_campo(:_id).nullo?
39
+ _genera_nuovo_id se ottieni_valore(:_id).nullo?
40
40
  _genera_documento_padre **attributi se attributi.ha_chiave? :_padre
41
41
  _memorizza_attributi_originali **attributi
42
42
  fine
@@ -61,21 +61,28 @@ modulo Mangusta
61
61
 
62
62
  ##
63
63
  # Recupera il valore di un campo del documento.
64
- definisci ottieni_valore_campo(nome_campo)
64
+ definisci ottieni_valore(nome_campo)
65
65
  ottieni_variabile_istanza "@#{nome_campo}"
66
66
  fine
67
67
 
68
68
  ##
69
69
  # Imposta il valore di un campo del documento.
70
- definisci imposta_valore_campo(nome_campo, valore_campo)
70
+ definisci imposta_valore(nome_campo, valore_campo)
71
71
  imposta_variabile_istanza "@#{nome_campo}", valore_campo
72
72
  fine
73
73
 
74
74
  ##
75
75
  # Ottiene la rappresentazione per stampa dell'oggetto.
76
76
  definisci inspect
77
- [ "#<#{se_stesso.classe}>:",
78
- Mangusta::Utilità.converti_in_json(se_stesso) ].unisci("\n")
77
+ "#<#{se_stesso.classe} #{Mangusta::Utilità.converti_in_json(se_stesso)}>"
78
+ fine
79
+ definisci ai(opzioni = Mappa.nuova)
80
+ se definito? AwesomePrint
81
+ ap = AwesomePrint::Inspector.nuovo opzioni
82
+ ap.awesome Mangusta::Utilità.converti_in_json(se_stesso)
83
+ altrimenti
84
+ inspect
85
+ fine
79
86
  fine
80
87
 
81
88
  ##
@@ -89,7 +96,7 @@ modulo Mangusta
89
96
  fine
90
97
 
91
98
  campi_da_esporre.per_ognuno esegui |campo|
92
- valore_campo = ottieni_valore_campo(campo.nome)
99
+ valore_campo = ottieni_valore(campo.nome)
93
100
  valore_campo = valore_campo.to_s se valore_campo.è_un? BSON::ObjectId
94
101
  risultato.deposita campo.nome, valore_campo
95
102
  fine
@@ -135,7 +142,7 @@ modulo Mangusta
135
142
  ##
136
143
  # Genera un nuovo id.
137
144
  definisci _genera_nuovo_id
138
- imposta_valore_campo :_id, BSON::ObjectId.new
145
+ imposta_valore :_id, BSON::ObjectId.new
139
146
  fine
140
147
 
141
148
  ##
@@ -3,6 +3,7 @@ modulo Mangusta
3
3
  classe RisultatoRicerca
4
4
 
5
5
  accessore :parametri_ricerca
6
+ accessore :relazioni_incluse
6
7
 
7
8
  definisci inizializzatore(collezione, classe_documento, parametri, ordinamento = Mappa.nuova)
8
9
  @collezione = collezione
@@ -11,27 +12,64 @@ modulo Mangusta
11
12
  @ordinamento_ricerca = ordinamento
12
13
  fine
13
14
 
15
+ ##
16
+ # Prende il primo elemento trovato.
14
17
  definisci primo
15
18
  documento_in_json = @collezione.cerca(@parametri_ricerca, @ordinamento_ricerca).primo
16
- Mangusta::Utilità.converti_in_documento documento_in_json, @classe_documento
19
+ _converti documento_in_json
17
20
  fine
21
+ alias :prima :primo
18
22
 
23
+ ##
24
+ # Prende l'ultimo elemento trovato.
25
+ definisci ultimo
26
+ documento_in_json = @collezione.cerca(@parametri_ricerca, @ordinamento_ricerca).lista.ultimo
27
+ fine
28
+ alias :ultima :ultimo
29
+
30
+ ##
31
+ # Ritorna l'oggetto ricerca come Lista documenti.
19
32
  definisci lista
20
33
  @collezione.cerca(@parametri_ricerca, @ordinamento_ricerca).lista.mappa esegui |documento_in_json|
21
- Mangusta::Utilità.converti_in_documento documento_in_json, @classe_documento
34
+ _converti documento_in_json
22
35
  fine
23
36
  fine
24
37
 
38
+ ##
39
+ # Aggiunge parametri alla ricerca.
25
40
  definisci cerca(**nuovi_parametri_ricerca)
26
41
  @parametri_ricerca.fondi! nuovi_parametri_ricerca
27
42
  se_stessa
28
43
  fine
29
44
 
45
+ ##
46
+ # Conta i risultati.
30
47
  definisci conteggio
31
48
  @collezione.cerca(@parametri_ricerca, @ordinamento_ricerca).count
32
49
  fine
33
50
  alias :conteggia :conteggio
34
51
 
52
+ ##
53
+ # Include relazioni del documento.
54
+ definisci includi_relazioni(*relazioni_da_includere)
55
+ relazioni_da_includere.per_ognuna esegui |nome_relazione_da_includere|
56
+ relazione = @classe_documento.relazioni.trova esegui |relazione|
57
+ relazione.nome == nome_relazione_da_includere
58
+ fine
59
+ prossima se relazione.nulla?
60
+ @relazioni_incluse << relazione
61
+ fine
62
+ se_stessa
63
+ fine
64
+
65
+ privati
66
+
67
+ ##
68
+ # Converte in documento.
69
+ definisci _converti(mappa)
70
+ Mangusta::Utilità.converti_in_documento mappa, @classe_documento
71
+ fine
72
+
35
73
  fine
36
74
  fine
37
75
  fine
@@ -1,40 +1,74 @@
1
1
  modulo Mangusta
2
2
  modulo Utilità
3
3
 
4
+ ##
5
+ # Converte un documento in json.
4
6
  definisci se_stessa.converti_in_json(documento)
5
7
  ritorna documento se documento.è_una? Mappa
6
- alza "L'oggetto passato non include Mangusta::Documento" a_meno_che documento.risponde_a? :campi
8
+ alza "L'oggetto passato non include Mangusta::Documento" a_meno_che
9
+ documento.classe.moduli_inclusi.include? Mangusta::Documento
7
10
 
8
11
  documento_convertito = Mappa.nuova
12
+
9
13
  documento.campi.per_ognuno esegui |campo|
10
- valore_campo = documento.ottieni_valore_campo(campo.nome)
14
+ valore_campo = documento.ottieni_valore campo.nome
11
15
  prossimo se valore_campo.nullo?
12
16
  documento_convertito.deposita campo.nome, valore_campo
13
17
  fine
14
18
 
15
- documento.documenti_incorporati.per_ognuno esegui |documento_incorporato|
16
- valore_documento_incorporato = documento.ottieni_valore_campo(documento_incorporato.nome)
17
- prossimo se valore_documento_incorporato.nullo?
18
- considera documento_incorporato.tipologia
19
- quando :singolo
20
- valore_documento_incorporato = converti_in_json(valore_documento_incorporato) se
21
- valore_documento_incorporato.non_è_una? Mappa
22
- quando :multiplo
23
- valore_documento_incorporato = valore_documento_incorporato.mappa esegui |singolo_valore|
24
- se singolo_valore.non_è_una? Mappa
25
- converti_in_json singolo_valore
26
- altrimenti
27
- singolo_valore
28
- fine
29
- fine
30
- fine
19
+ documento.relazioni.per_ognuna esegui |relazione|
20
+ relazione_convertita = converti_documento_relazionato_in_json documento, relazione
21
+ prossimo se relazione_convertita.nulla?
22
+ documento_convertito.deposita relazione.nome, relazione_convertita
23
+ fine
31
24
 
32
- documento_convertito.deposita documento_incorporato.nome, valore_documento_incorporato
25
+ documento.documenti_incorporati.per_ognuno esegui |documento_incorporato|
26
+ documento_incorporato_convertito = converti_documento_incorporato_in_json documento, documento_incorporato
27
+ prossimo se documento_incorporato_convertito.nullo?
28
+ documento_convertito.deposita documento_incorporato.nome, documento_incorporato_convertito
33
29
  fine
34
30
 
35
31
  documento_convertito
36
32
  fine
37
33
 
34
+ ##
35
+ # Converte un documento incorporato in json.
36
+ definisci se_stessa.converti_documento_incorporato_in_json(documento, documento_incorporato)
37
+ valore_documento_incorporato = documento.ottieni_valore documento_incorporato.nome
38
+ ritorna nullo se valore_documento_incorporato.nullo?
39
+
40
+ considera documento_incorporato.tipologia
41
+ quando :singolo
42
+ ritorna valore_documento_incorporato se valore_documento_incorporato.è_una? Mappa
43
+ converti_in_json(valore_documento_incorporato)
44
+ quando :multiplo
45
+ valore_documento_incorporato.mappa esegui |singolo_valore|
46
+ prossimo singolo_valore se singolo_valore.è_una? Mappa
47
+ converti_in_json singolo_valore
48
+ fine
49
+ fine
50
+ fine
51
+
52
+ ##
53
+ # Converte una relazione in json.
54
+ definisci se_stessa.converti_documento_relazionato_in_json(documento, relazione)
55
+ valore_relazione = documento.ottieni_valore relazione.nome
56
+ ritorna nullo se valore_relazione.nulla?
57
+
58
+ considera relazione.tipologia
59
+ quando :ha_uno, :appartiene_a
60
+ ritorna valore_relazione se valore_relazione.è_una? Mappa
61
+ converti_in_json(valore_relazione)
62
+ quando :ha_molti, :ha_e_appartiene_a_molti
63
+ valore_relazione.mappa esegui |singolo_valore|
64
+ prossimo singolo_valore se singolo_valore.è_una? Mappa
65
+ converti_in_json singolo_valore
66
+ fine
67
+ fine
68
+ fine
69
+
70
+ ##
71
+ # Converte un json in documento.
38
72
  definisci se_stessa.converti_in_documento(documento_in_json, classe_documento)
39
73
  ritorna documento_in_json se documento_in_json.non_è_una? Mappa
40
74
  classe_documento ||= Oggetto
@@ -1,3 +1,3 @@
1
1
  modulo Mangusta
2
- VERSIONE = "0.2.1"
2
+ VERSIONE = "0.2.2"
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.2.1
4
+ version: 0.2.2
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-04-20 00:00:00.000000000 Z
11
+ date: 2020-04-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: italian-ruby