mangusta 0.1.4 → 0.1.5
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 +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
|