iris-rb 0.4.5 → 0.4.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4fa52e407d3eb32800626af2aafd73a39b069090241d011001f21679ae930f7e
4
- data.tar.gz: a9697a348d118c5fdd825ef3d4477ddd8fc81628326a67fe30cd5fa6dd5e6a98
3
+ metadata.gz: b5689e9464c048693ee0f67e51d2b1ca6ce9f628d965ebbb6aff58b240aa6672
4
+ data.tar.gz: 5f26ccf2a16d560af7c1342d8b0acba56a092b21b76df504903ff6e82a9cc389
5
5
  SHA512:
6
- metadata.gz: 2d98d801290c2ed30eb20a11c22aefaffb0d3bd257982c61b014097cc6a42047f20f305cb62cc0c95fc75be08827b8e403f3db13b0fa1b35352acf77f7cfc1b7
7
- data.tar.gz: 3051d7a9c7f9717b99e05104f4a21e21742ca23856274ba5c0485d193a63c97409c73790aad3911f668ab55864e57a7499f50f59b56d4b5c4d75cbc20dadc7be
6
+ metadata.gz: d993d39cac3fcaebc90a2858458d22964661b41d3973c2201b3c8a90edffee68abd1c629da30de09c75dd22c9dfd5ffebbe4b149a540b935b19ad376984614e1
7
+ data.tar.gz: 75ba83a6699e471ce2bd719437ed1717d118a1215cf66c043654230e71f7174b66d75ef56a8b8e06906a2378f53aa6afecaf3f6517800ae366c60b3c3676de76
@@ -68,14 +68,16 @@ modulo Iris
68
68
 
69
69
  ##
70
70
  # Esegue un controllo su un parametro obbligatoriol
71
- definisci obbligatorio(parametro, *opzioni, &blocco)
72
- _controlla parametro, _opzioni_parametro(*opzioni, &blocco).fondi(obbligatorio: si), &blocco
71
+ definisci obbligatorio(parametro, *opzioni, **tipo_elementi_lista, &blocco)
72
+ _controlla parametro, _opzioni_parametro(*opzioni, **tipo_elementi_lista, &blocco)
73
+ .fondi(obbligatorio: si), &blocco
73
74
  fine
74
75
 
75
76
  ##
76
77
  # Esegue un controllo su un parametro opzionale.
77
- definisci opzionale(parametro, *opzioni, &blocco)
78
- _controlla parametro, _opzioni_parametro(*opzioni, &blocco).fondi(obbligatorio: no), &blocco
78
+ definisci opzionale(parametro, *opzioni, **tipo_elementi_lista, &blocco)
79
+ _controlla parametro, _opzioni_parametro(*opzioni, **tipo_elementi_lista, &blocco)
80
+ .fondi(obbligatorio: no), &blocco
79
81
  fine
80
82
 
81
83
  ##
@@ -112,9 +114,16 @@ modulo Iris
112
114
 
113
115
  ##
114
116
  # Esegue il controllo sul parametro.
115
- definisci _controlla(parametro, obbligatorio: si, annullabile: si, tipo_desiderato: :stringa, &blocco)
117
+ definisci _controlla(parametro,
118
+ obbligatorio: si, annullabile: si,
119
+ tipo_desiderato: :stringa, tipo_desiderato_elementi_lista: nullo, &blocco)
116
120
  valore_parametro = @parametri_originali.ottieni parametro, nullo
117
121
  valore_parametro = _applica_conversioni_su valore_parametro, tipo_desiderato
122
+ se valore_parametro.è_una? Lista e tipo_desiderato_elementi_lista.specificato?
123
+ valore_parametro = valore_parametro.mappa esegui |valore|
124
+ _applica_conversioni_su valore, tipo_desiderato_elementi_lista
125
+ fine
126
+ fine
118
127
 
119
128
  cattura :controllo_terminato esegui
120
129
  _segnala_presenza_obbligatoria_su parametro se obbligatorio == si e @parametri_originali.non_ha_chiave? parametro
@@ -123,6 +132,10 @@ modulo Iris
123
132
  _segnala_non_annullabile_su parametro se annullabile == no e valore_parametro.non_specificato?
124
133
  _segnala_tipo_non_valido_su parametro, tipo_desiderato se tipo_non_corrispondente?(valore_parametro, tipo_desiderato)
125
134
  valore_parametro = nullo se valore_parametro.non_specificato?
135
+
136
+ _controlla_elementi_lista parametro, valore_parametro, tipo_desiderato_elementi_lista se
137
+ tipo_desiderato == :lista e tipo_desiderato_elementi_lista.specificato?
138
+
126
139
  @parametri_processati.deposita parametro, valore_parametro
127
140
  fine
128
141
 
@@ -171,9 +184,19 @@ modulo Iris
171
184
  @errori.deposita parametro, errori_trovati se errori_trovati.almeno_uno?
172
185
  fine
173
186
 
187
+ ##
188
+ # Controllo che gli elementi della lista siano tutti del tipo desiderato.
189
+ definisci _controlla_elementi_lista(parametro, valore_parametro, tipo_desiderato_elementi_lista)
190
+ ritorna se valore_parametro.non_è_una? Lista
191
+
192
+ se valore_parametro.almeno_uno? { |valore| tipo_non_corrispondente? valore, tipo_desiderato_elementi_lista }
193
+ _segnala_tipo_non_valido_su parametro, tipo_desiderato_elementi_lista
194
+ fine
195
+ fine
196
+
174
197
  ##
175
198
  # Recupera le opzioni del parametro, ovvero tipo e annullabilità.
176
- definisci _opzioni_parametro(*opzioni, &blocco)
199
+ definisci _opzioni_parametro(*opzioni, **tipo_elementi_lista, &blocco)
177
200
  mappa_opzioni = Mappa[annullabile: no, tipo_desiderato: :stringa]
178
201
  mappa_opzioni.deposita :annullabile, si se opzioni.include? :annullabile
179
202
  considera
@@ -193,6 +216,9 @@ modulo Iris
193
216
  mappa_opzioni.deposita :tipo_desiderato, :decimale
194
217
  quando opzioni.include?(:lista)
195
218
  mappa_opzioni.deposita :tipo_desiderato, :lista
219
+ se tipo_elementi_lista.ha_chiave? :di
220
+ mappa_opzioni.deposita :tipo_desiderato_elementi_lista, tipo_elementi_lista.ottieni(:di)
221
+ fine
196
222
  quando opzioni.include?(:mappa)
197
223
  mappa_opzioni.deposita :tipo_desiderato, :mappa
198
224
  fine
@@ -228,11 +254,11 @@ modulo Iris
228
254
  # Applica conversioni sul valore parametro in base al tipo desiderato.
229
255
  definisci _applica_conversioni_su(valore_parametro, tipo_desiderato)
230
256
  considera tipo_desiderato
231
- quando :id_oggetto
257
+ quando :id_oggetto, :id_oggetti
232
258
  valore_parametro.in_id
233
- quando :simbolo
259
+ quando :simbolo, :simboli
234
260
  valore_parametro.in_simbolo
235
- quando :data
261
+ quando :data, :date
236
262
  Data.strptime(valore_parametro, "%Y-%m-%d")
237
263
  altrimenti
238
264
  valore_parametro
@@ -248,21 +274,21 @@ modulo Iris
248
274
  ritorna no se valore_parametro.non_specificato?
249
275
 
250
276
  considera tipo_desiderato
251
- quando :intero, :decimale
277
+ quando :intero, :interi, :decimale, :decimali
252
278
  ritorna si se valore_parametro.non_è_un? Numerico
253
- quando :booleano
279
+ quando :booleano, :booleani
254
280
  ritorna si se valore_parametro.non_è_un? TrueClass e valore_parametro.non_è_un? FalseClass
255
- quando :data
281
+ quando :data, :date
256
282
  ritorna si se valore_parametro.non_è_una? Data
257
- quando :stringa
283
+ quando :stringa, :stringhe
258
284
  ritorna si se valore_parametro.non_è_una? Stringa
259
- quando :simbolo
285
+ quando :simbolo, :simboli
260
286
  ritorna si se valore_parametro.non_è_una? Simbolo
261
- quando :id_oggetto
287
+ quando :id_oggetto, :id_oggetti
262
288
  ritorna si se valore_parametro.non_è_un? IdOggetto
263
- quando :lista
289
+ quando :lista, :liste
264
290
  ritorna si se valore_parametro.non_è_una? Lista
265
- quando :mappa
291
+ quando :mappa, :mappe
266
292
  ritorna si se valore_parametro.non_è_una? Mappa
267
293
  fine
268
294
 
@@ -274,14 +300,23 @@ modulo Iris
274
300
  definisci _messaggio_per(tipo_parametro)
275
301
  considera tipo_parametro
276
302
  quando :booleano allora "un booleano"
303
+ quando :booleani allora "una lista di booleani"
277
304
  quando :data allora "una data"
305
+ quando :date allora "una lista di date"
278
306
  quando :stringa allora "una stringa"
307
+ quando :stringhe allora "una lista di stringhe"
279
308
  quando :simbolo allora "una stringa"
309
+ quando :simboli allora "una lista di simboli"
280
310
  quando :id_oggetto allora "un id oggetto"
311
+ quando :id_oggetti allora "una lista di id oggetti"
281
312
  quando :intero allora "un numero intero"
313
+ quando :interi allora "una lista di numeri interi"
282
314
  quando :decimale allora "un numero decimale"
315
+ quando :decimali allora "una lista di numeri decimali"
283
316
  quando :lista allora "una lista"
317
+ quando :liste allora "una lista di liste"
284
318
  quando :mappa allora "un oggetto"
319
+ quando :mappe allora "una lista di oggetti"
285
320
  altrimenti nullo fine
286
321
  fine
287
322
 
@@ -1,3 +1,3 @@
1
1
  modulo Iris
2
- VERSIONE = "0.4.5"
2
+ VERSIONE = "0.4.6"
3
3
  fine
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iris-rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.5
4
+ version: 0.4.6
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-05-27 00:00:00.000000000 Z
11
+ date: 2020-05-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: italian-ruby