mangusta 0.1.4 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +2 -2
- data/lib/mangusta/documento/relazione.ir +1 -1
- data/lib/mangusta/documento.ir +18 -6
- data/lib/mangusta/ripostiglio/risultato_ricerca.ir +10 -0
- data/lib/mangusta/ripostiglio.ir +12 -6
- data/lib/mangusta/utilit/303/240/convertitori.ir +2 -2
- data/lib/mangusta/versione.ir +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6fe74a23c8c7cea11aa202a72f026251acef65ea0a10de8575dda0d4fbfcf1a6
|
4
|
+
data.tar.gz: 7f77bcf9bb8beb0b5398ce557c01db4195fd312f51d06ee4fe11d12b448c1aac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1cf8d1444797c6949c8577b3088b5ecc04901f5f099e664df113f97e0a7644007b3c935c920cc8982ab02748c0d593cfa4407c84e96e877763e2505a0cfa59a1
|
7
|
+
data.tar.gz: 8799d3b255e218d3969876d739f356a199429edbd7ec0d6bfee042e4716595294308438adc838d54d0caefa255800ad9b78fcebbb4b7e469dc8772ec1cd89bac
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
mangusta (0.1.
|
4
|
+
mangusta (0.1.4)
|
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.1.
|
13
|
+
italian-ruby (0.1.7)
|
14
14
|
ruby2ruby (~> 2.4)
|
15
15
|
mongo (2.11.4)
|
16
16
|
bson (>= 4.4.2, < 5.0.0)
|
data/lib/mangusta/documento.ir
CHANGED
@@ -35,10 +35,7 @@ modulo Mangusta
|
|
35
35
|
_inizializza_campo campo
|
36
36
|
fine
|
37
37
|
|
38
|
-
attributi
|
39
|
-
imposta_valore_campo nome_campo, valore_campo
|
40
|
-
fine
|
41
|
-
|
38
|
+
assegna **attributi
|
42
39
|
_genera_nuovo_id se ottieni_valore_campo(:_id).nullo?
|
43
40
|
_memorizza_attributi_originali **attributi
|
44
41
|
fine
|
@@ -69,16 +66,27 @@ modulo Mangusta
|
|
69
66
|
|
70
67
|
##
|
71
68
|
# Ottiene la rappresentazione in Mappa dei campi del documento.
|
72
|
-
definisci
|
69
|
+
definisci esponi
|
73
70
|
risultato = Mappa.nuova
|
74
71
|
campi.per_ognuno esegui |campo|
|
75
72
|
valore_campo = ottieni_valore_campo(campo.nome)
|
76
|
-
valore_campo = valore_campo.to_s se
|
73
|
+
valore_campo = valore_campo.to_s se valore_campo.è_un? BSON::ObjectId
|
77
74
|
risultato.deposita campo.nome, valore_campo
|
78
75
|
fine
|
79
76
|
risultato
|
80
77
|
fine
|
81
78
|
|
79
|
+
##
|
80
|
+
# Assegna i parametri passati al documento. Considera anche gli alias.
|
81
|
+
definisci assegna(**parametri)
|
82
|
+
parametri.per_ognuno esegui |nome_parametro, valore_parametro|
|
83
|
+
nome_metodo_assegnamento = "#{nome_parametro}="
|
84
|
+
prossimo se se_stesso.non_risponde_a? nome_metodo_assegnamento
|
85
|
+
se_stesso.manda nome_metodo_assegnamento, valore_parametro
|
86
|
+
fine
|
87
|
+
se_stesso
|
88
|
+
fine
|
89
|
+
|
82
90
|
##
|
83
91
|
# Accede al valore dell'attributo originale del documento,
|
84
92
|
# passando oltre gli accessori, per accedere a campi non modellati.
|
@@ -158,6 +166,10 @@ modulo Mangusta
|
|
158
166
|
ottieni_variabile_istanza "@#{nome}"
|
159
167
|
fine
|
160
168
|
|
169
|
+
definisci_metodo "#{nome}?" esegui
|
170
|
+
ottieni_variabile_istanza("@#{nome}") == vero
|
171
|
+
fine
|
172
|
+
|
161
173
|
definisci_metodo "#{nome}=" esegui |valore|
|
162
174
|
imposta_variabile_istanza "@#{nome}", valore
|
163
175
|
fine
|
@@ -21,6 +21,16 @@ modulo Mangusta
|
|
21
21
|
fine
|
22
22
|
fine
|
23
23
|
|
24
|
+
definisci cerca(**nuovi_parametri_ricerca)
|
25
|
+
@parametri_ricerca.fondi! nuovi_parametri_ricerca
|
26
|
+
se_stessa
|
27
|
+
fine
|
28
|
+
|
29
|
+
definisci conteggio
|
30
|
+
@collezione.cerca(**@parametri_ricerca).count
|
31
|
+
fine
|
32
|
+
alias :conteggia :conteggio
|
33
|
+
|
24
34
|
fine
|
25
35
|
fine
|
26
36
|
fine
|
data/lib/mangusta/ripostiglio.ir
CHANGED
@@ -34,6 +34,7 @@ modulo Mangusta
|
|
34
34
|
classe << se_stesso
|
35
35
|
|
36
36
|
accessore :_nome_collezione
|
37
|
+
accessore :_nome_classe_documento
|
37
38
|
accessore :_classe_documento
|
38
39
|
|
39
40
|
##
|
@@ -45,7 +46,8 @@ modulo Mangusta
|
|
45
46
|
##
|
46
47
|
# Metodo per definire che classe documento usare.
|
47
48
|
definisci documento(nome_classe)
|
48
|
-
se_stesso.
|
49
|
+
se_stesso._nome_classe_documento = nome_classe
|
50
|
+
se_stesso._classe_documento = Oggetto.ottieni_costante nome_classe
|
49
51
|
fine
|
50
52
|
|
51
53
|
##
|
@@ -62,9 +64,12 @@ modulo Mangusta
|
|
62
64
|
|
63
65
|
##
|
64
66
|
# Ritorna il primo documento del ripostiglio.
|
65
|
-
definisci primo
|
66
|
-
_risultato_ricerca.primo
|
67
|
+
definisci primo(**parametri)
|
68
|
+
_risultato_ricerca(**parametri).primo
|
67
69
|
fine
|
70
|
+
alias :prima :primo
|
71
|
+
alias :primo_per :primo
|
72
|
+
alias :prima_per :primo
|
68
73
|
|
69
74
|
##
|
70
75
|
# Cerca senza filtri, su tutti i documenti della collezione.
|
@@ -76,6 +81,9 @@ modulo Mangusta
|
|
76
81
|
##
|
77
82
|
# Deposita un documento.
|
78
83
|
definisci inserisci(documento)
|
84
|
+
alza "L'argomento passato deve essere un #{_nome_classe_documento} o una Mappa" se
|
85
|
+
documento.non_è_un? _classe_documento e documento.non_è_una? Mappa
|
86
|
+
|
79
87
|
documento_in_json = Mangusta::Utilità.converti_in_json(documento)
|
80
88
|
documento_in_json.deposita :_id, BSON::ObjectId.new se documento_in_json.non_ha_chiave? :_id
|
81
89
|
_collezione.inserisci_uno documento_in_json
|
@@ -109,8 +117,6 @@ modulo Mangusta
|
|
109
117
|
##
|
110
118
|
# Aggiorna molti documenti.
|
111
119
|
definisci aggiorna_molti(ricerca = Mappa.nuova, **valori_da_aggiornare)
|
112
|
-
stampa "AGG MOLTI ---> RICERCA", ricerca
|
113
|
-
stampa "VALORI", valori_da_aggiornare, "^^^^^^^^^^^^"
|
114
120
|
alza "Il primo argomento deve essere una Mappa o una Lista di documenti" a_meno_che
|
115
121
|
ricerca.classe == Mappa o ricerca.risponde_a? :tutti?
|
116
122
|
|
@@ -184,7 +190,7 @@ modulo Mangusta
|
|
184
190
|
##
|
185
191
|
# Propaga tutte le relazioni del documento.
|
186
192
|
definisci _propaga_relazioni(documento, documento_in_json)
|
187
|
-
|
193
|
+
_classe_documento.relazioni.per_ognuna esegui |relazione|
|
188
194
|
se documento_in_json.ha_chiave? relazione.nome_campo
|
189
195
|
relazione.propaga documento, documento_in_json.ottieni(relazione.nome_campo)
|
190
196
|
fine
|
@@ -16,9 +16,9 @@ modulo Mangusta
|
|
16
16
|
|
17
17
|
definisci se_stessa.converti_in_documento(documento_in_json, classe_documento)
|
18
18
|
ritorna documento_in_json se documento_in_json.non_è_una? Mappa
|
19
|
-
classe_documento ||=
|
19
|
+
classe_documento ||= Oggetto
|
20
20
|
|
21
|
-
|
21
|
+
classe_documento.nuovo **documento_in_json
|
22
22
|
fine
|
23
23
|
|
24
24
|
fine
|
data/lib/mangusta/versione.ir
CHANGED
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.1.
|
4
|
+
version: 0.1.5
|
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-
|
11
|
+
date: 2020-04-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: italian-ruby
|