mangusta 0.4.6 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|