mangusta 0.4.6 → 0.5.0
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 +1 -1
- data/Gemfile.lock +10 -17
- data/lib/mangusta/core_ext/mongo.rb +1 -0
- data/lib/mangusta/documento.ir +52 -131
- data/lib/mangusta/documento/campo.ir +37 -3
- data/lib/mangusta/documento/espositore.ir +116 -40
- data/lib/mangusta/documento/incorporato.ir +88 -61
- data/lib/mangusta/documento/metodi_condivisi.ir +33 -0
- data/lib/mangusta/documento/metodi_di_classe.ir +72 -61
- data/lib/mangusta/documento/relazione.ir +86 -60
- data/lib/mangusta/ricerca.ir +75 -0
- data/lib/mangusta/ripostiglio.ir +221 -151
- data/lib/mangusta/versione.ir +1 -1
- metadata +4 -4
- data/lib/mangusta/ripostiglio/risultato_ricerca.ir +0 -95
- data/lib/mangusta/utilit/303/240/convertitori.ir +0 -91
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.
|
4
|
+
version: 0.5.0
|
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-06-
|
11
|
+
date: 2020-06-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: italian-ruby
|
@@ -60,12 +60,12 @@ files:
|
|
60
60
|
- lib/mangusta/documento/campo.ir
|
61
61
|
- lib/mangusta/documento/espositore.ir
|
62
62
|
- lib/mangusta/documento/incorporato.ir
|
63
|
+
- lib/mangusta/documento/metodi_condivisi.ir
|
63
64
|
- lib/mangusta/documento/metodi_di_classe.ir
|
64
65
|
- lib/mangusta/documento/relazione.ir
|
65
66
|
- lib/mangusta/load.rb
|
67
|
+
- lib/mangusta/ricerca.ir
|
66
68
|
- lib/mangusta/ripostiglio.ir
|
67
|
-
- lib/mangusta/ripostiglio/risultato_ricerca.ir
|
68
|
-
- lib/mangusta/utilità/convertitori.ir
|
69
69
|
- lib/mangusta/versione.ir
|
70
70
|
- mangusta.gemspec
|
71
71
|
homepage: https://github.com/Pluvie/ruby-mangusta
|
@@ -1,95 +0,0 @@
|
|
1
|
-
modulo Mangusta
|
2
|
-
modulo Ripostiglio
|
3
|
-
classe RisultatoRicerca
|
4
|
-
|
5
|
-
accessore :parametri_ricerca
|
6
|
-
accessore :relazioni_incluse
|
7
|
-
|
8
|
-
definisci inizializzatore(collezione, classe_documento, parametri, ordinamento = Mappa.nuova)
|
9
|
-
@collezione = collezione
|
10
|
-
@classe_documento = classe_documento
|
11
|
-
@parametri_ricerca = parametri
|
12
|
-
@ordinamento_ricerca = Mappa[sort: ordinamento]
|
13
|
-
@relazioni_incluse = []
|
14
|
-
fine
|
15
|
-
|
16
|
-
##
|
17
|
-
# Prende il primo elemento trovato.
|
18
|
-
definisci primo
|
19
|
-
_carica_relazioni_incluse
|
20
|
-
documento_in_json = @collezione.cerca(@parametri_ricerca, @ordinamento_ricerca).primo
|
21
|
-
_converti documento_in_json
|
22
|
-
fine
|
23
|
-
alias :prima :primo
|
24
|
-
|
25
|
-
##
|
26
|
-
# Prende l'ultimo elemento trovato.
|
27
|
-
definisci ultimo
|
28
|
-
_carica_relazioni_incluse
|
29
|
-
@ordinamento_ricerca[:sort].fondi! _id: -1
|
30
|
-
documento_in_json = @collezione.cerca(@parametri_ricerca, @ordinamento_ricerca).primo
|
31
|
-
_converti documento_in_json
|
32
|
-
fine
|
33
|
-
alias :ultima :ultimo
|
34
|
-
|
35
|
-
##
|
36
|
-
# Ritorna l'oggetto ricerca come Lista documenti.
|
37
|
-
definisci lista
|
38
|
-
_carica_relazioni_incluse
|
39
|
-
@collezione.cerca(@parametri_ricerca, @ordinamento_ricerca).lista.mappa esegui |documento_in_json|
|
40
|
-
_converti documento_in_json
|
41
|
-
fine
|
42
|
-
fine
|
43
|
-
|
44
|
-
##
|
45
|
-
# Aggiunge parametri alla ricerca.
|
46
|
-
definisci cerca(**nuovi_parametri_ricerca)
|
47
|
-
@parametri_ricerca.fondi! nuovi_parametri_ricerca
|
48
|
-
se_stessa
|
49
|
-
fine
|
50
|
-
|
51
|
-
##
|
52
|
-
# Conta i risultati.
|
53
|
-
definisci conteggio
|
54
|
-
@collezione.cerca(@parametri_ricerca, @ordinamento_ricerca).count
|
55
|
-
fine
|
56
|
-
alias :conteggia :conteggio
|
57
|
-
|
58
|
-
##
|
59
|
-
# Include relazioni del documento.
|
60
|
-
definisci includi_relazioni(*relazioni_da_includere)
|
61
|
-
relazioni_da_includere.per_ognuna esegui |nome_relazione_da_includere|
|
62
|
-
relazione = @classe_documento.relazioni.trova esegui |relazione|
|
63
|
-
relazione.nome == nome_relazione_da_includere
|
64
|
-
fine
|
65
|
-
prossima se relazione.nulla?
|
66
|
-
@relazioni_incluse << relazione
|
67
|
-
fine
|
68
|
-
se_stessa
|
69
|
-
fine
|
70
|
-
|
71
|
-
privati
|
72
|
-
|
73
|
-
##
|
74
|
-
# Converte in documento.
|
75
|
-
definisci _converti(mappa)
|
76
|
-
documento = Mangusta::Utilità.converti_in_documento mappa, @classe_documento
|
77
|
-
|
78
|
-
@relazioni_incluse.per_ognuna esegui |relazione_inclusa|
|
79
|
-
documento.manda "#{relazione_inclusa.nome}=", relazione_inclusa.risolvi(documento)
|
80
|
-
fine
|
81
|
-
|
82
|
-
documento
|
83
|
-
fine
|
84
|
-
|
85
|
-
##
|
86
|
-
# Carica relazioni incluse in memoria, se presenti.
|
87
|
-
definisci _carica_relazioni_incluse
|
88
|
-
@relazioni_incluse.per_ognuna esegui |relazione_inclusa|
|
89
|
-
relazione_inclusa.carica_documenti
|
90
|
-
fine
|
91
|
-
fine
|
92
|
-
|
93
|
-
fine
|
94
|
-
fine
|
95
|
-
fine
|
@@ -1,91 +0,0 @@
|
|
1
|
-
modulo Mangusta
|
2
|
-
modulo Utilità
|
3
|
-
|
4
|
-
##
|
5
|
-
# Converte un documento in json.
|
6
|
-
definisci se_stessa.converti_in_json(documento, *relazioni_richieste)
|
7
|
-
ritorna documento se documento.è_una? Mappa
|
8
|
-
alza "L'oggetto passato non include Mangusta::Documento" a_meno_che
|
9
|
-
documento.classe.moduli_inclusi.include? Mangusta::Documento
|
10
|
-
|
11
|
-
documento_convertito = Mappa.nuova
|
12
|
-
|
13
|
-
documento.campi.per_ognuno esegui |campo|
|
14
|
-
valore_campo = documento.ottieni_valore campo.nome
|
15
|
-
prossimo se valore_campo.nullo?
|
16
|
-
se campo.nome.in? documento.relazioni.mappa(&:nome_campo)
|
17
|
-
inizia
|
18
|
-
valore_campo = IdOggetto.converti valore_campo se valore_campo.è_una? Stringa
|
19
|
-
valore_campo = valore_campo.mappa { |singolo_valore| IdOggetto.converti singolo_valore } se valore_campo.è_una? Lista
|
20
|
-
recupera IdOggetto::Invalid
|
21
|
-
fine
|
22
|
-
fine
|
23
|
-
documento_convertito.deposita campo.nome, valore_campo
|
24
|
-
fine
|
25
|
-
|
26
|
-
documento.documenti_incorporati.per_ognuno esegui |documento_incorporato|
|
27
|
-
documento_incorporato_convertito = converti_documento_incorporato_in_json documento, documento_incorporato
|
28
|
-
prossimo se documento_incorporato_convertito.nullo?
|
29
|
-
documento_convertito.deposita documento_incorporato.nome, documento_incorporato_convertito
|
30
|
-
fine
|
31
|
-
|
32
|
-
se relazioni_richieste.almeno_una?
|
33
|
-
relazioni_richieste.per_ognuna esegui |nome_relazione, campi_richiesti|
|
34
|
-
relazione = documento.relazioni.trova { |relazione| relazione.nome == nome_relazione }
|
35
|
-
prossima se relazione.nulla?
|
36
|
-
relazione_convertita = converti_documento_relazionato_in_json documento, relazione
|
37
|
-
prossimo se relazione_convertita.nulla?
|
38
|
-
documento_convertito.deposita relazione.nome, relazione_convertita
|
39
|
-
fine
|
40
|
-
fine
|
41
|
-
|
42
|
-
documento_convertito
|
43
|
-
fine
|
44
|
-
|
45
|
-
##
|
46
|
-
# Converte un documento incorporato in json.
|
47
|
-
definisci se_stessa.converti_documento_incorporato_in_json(documento, documento_incorporato)
|
48
|
-
valore_documento_incorporato = documento.ottieni_valore documento_incorporato.nome
|
49
|
-
ritorna nullo se valore_documento_incorporato.nullo?
|
50
|
-
|
51
|
-
considera documento_incorporato.tipologia
|
52
|
-
quando :singolo
|
53
|
-
ritorna valore_documento_incorporato se valore_documento_incorporato.è_una? Mappa
|
54
|
-
converti_in_json(valore_documento_incorporato)
|
55
|
-
quando :multiplo
|
56
|
-
valore_documento_incorporato.mappa esegui |singolo_valore|
|
57
|
-
prossimo singolo_valore se singolo_valore.è_una? Mappa
|
58
|
-
converti_in_json singolo_valore
|
59
|
-
fine
|
60
|
-
fine
|
61
|
-
fine
|
62
|
-
|
63
|
-
##
|
64
|
-
# Converte una relazione in json.
|
65
|
-
definisci se_stessa.converti_documento_relazionato_in_json(documento, relazione)
|
66
|
-
valore_relazione = documento.ottieni_valore relazione.nome
|
67
|
-
ritorna nullo se valore_relazione.nulla?
|
68
|
-
|
69
|
-
considera relazione.tipologia
|
70
|
-
quando :ha_uno, :appartiene_a
|
71
|
-
ritorna valore_relazione se valore_relazione.è_una? Mappa
|
72
|
-
converti_in_json(valore_relazione)
|
73
|
-
quando :ha_molti, :ha_e_appartiene_a_molti
|
74
|
-
valore_relazione.mappa esegui |singolo_valore|
|
75
|
-
prossimo singolo_valore se singolo_valore.è_una? Mappa
|
76
|
-
converti_in_json singolo_valore
|
77
|
-
fine
|
78
|
-
fine
|
79
|
-
fine
|
80
|
-
|
81
|
-
##
|
82
|
-
# Converte un json in documento.
|
83
|
-
definisci se_stessa.converti_in_documento(documento_in_json, classe_documento)
|
84
|
-
ritorna documento_in_json se documento_in_json.non_è_una? Mappa
|
85
|
-
classe_documento ||= Oggetto
|
86
|
-
|
87
|
-
classe_documento.nuovo **documento_in_json
|
88
|
-
fine
|
89
|
-
|
90
|
-
fine
|
91
|
-
fine
|