mangusta 0.2.1 → 0.2.2

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