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.
@@ -1,3 +1,3 @@
1
1
  modulo Mangusta
2
- VERSIONE = "0.4.6"
2
+ VERSIONE = "0.5.0"
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.4.6
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-03 00:00:00.000000000 Z
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