italian-ruby 1.2.8 → 1.3.4

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: 8a91a0398d3e7987e8d3091e57631637d7a8cdc4d69c3d13276e8234665c956a
4
- data.tar.gz: 8ed0a455ecd787c62f779095b0475f8f721990eac6ca101654e62efc86df840b
3
+ metadata.gz: f983a49b72fba085a30a10aa75a2dd7be0abaca948d4284b8f26df3508cacaa6
4
+ data.tar.gz: b24a86dd834f882c15474d875d75e380d34e223af4da7186489d563bb873a3a1
5
5
  SHA512:
6
- metadata.gz: 73d493ac9eccfbed72ae192758f2c78779217a23ee62eb626a2aec24bb32f967952a9f0296e9d8a965b5f6b6fbe04db988d0b9e36919b7588d29890b64d1a9b4
7
- data.tar.gz: d1a97b16a594fa826f4a4957f131e858d6a812b97464d7595de808600fc06728edff25a8c91919ef92348ca767971b74de3f9e5bf18e194fca832f103ee6b457
6
+ metadata.gz: a0e9f0b896bcf19ccff2626b8ea7ec32755cd9f1c7ff1ee4cccb55814ff5c6eec6a4ac5e136a77bff5c4a4b67aa6fc039f1dcd1f4d792b668dc543e9ef3404eb
7
+ data.tar.gz: 8d4e5ba4a1d5cb67d880c4eb401bfd096db7b2917e37fdc8306fd9cd480a1b14e651931f56df5af28ce69e742f042e47a8f136a0130660a7fbd5e7973b3605f3
@@ -31,6 +31,8 @@ class String
31
31
  alias :vuota? :empty?
32
32
  alias :vuoto? :empty?
33
33
  alias :spoglia :strip
34
+ alias :spoglia_a_sinistra :lstrip
35
+ alias :spoglia_a_destra :rstrip
34
36
  alias :mastica :chomp
35
37
  alias :conteggio :count
36
38
  alias :conteggia :count
@@ -25,6 +25,23 @@ class Date
25
25
  end
26
26
 
27
27
  ##
28
+ # Restituisce la data di inizio anno.
29
+ def inizio_anno
30
+ Date.new self.year, 1, 1
31
+ end
32
+
33
+ ##
34
+ # Restituisce la data di fine anno.
35
+ def fine_anno
36
+ Date.new self.year, 12, 31
37
+ end
38
+
39
+ ##
40
+ # Restituisce il tempo all'ora specificata.
41
+ def alle(ore, minuti = 0, secondi = 0)
42
+ self.in_tempo.alle ore, minuti, secondi
43
+ end
44
+
28
45
  # Formatta la data secondo la rappresentazione passata.
29
46
  def formatta_locale(format)
30
47
  formattazione = strftime format
@@ -38,12 +38,8 @@ module Kernel
38
38
  ##
39
39
  # Richiede un archivio cercandolo come percorso relativo.
40
40
  def richiedi_relativo(percorso_archivio)
41
- sorgente_chiamante = Italian::Ruby.percorso_archivio_non_tradotto caller_locations.first.absolute_path
42
- linea_chiamante = caller_locations.first.lineno
43
- cartella_chiamante = File.dirname sorgente_chiamante
44
- archivio_da_richiedere = File.expand_path File.join(cartella_chiamante, percorso_archivio)
45
- archivio_da_richiedere = Dir["#{archivio_da_richiedere}.{ir,rb}"].compact.first
46
-
41
+ sorgente_chiamante, linea_chiamante = ottieni_sorgente_e_linea_chiamante caller_locations
42
+ archivio_da_richiedere = archivio_relativo sorgente_chiamante, percorso_archivio
47
43
  raise LoadError, "cannot load such file -- #{percorso_archivio}" if archivio_da_richiedere.nil?
48
44
  traduci_e_richiedi archivio_da_richiedere
49
45
  rescue LoadError => errore
@@ -53,12 +49,8 @@ module Kernel
53
49
  ##
54
50
  # Richiede tutti gli archivi di una cartella.
55
51
  def richiedi_tutti(percorso_cartella)
56
- sorgente_chiamante = Italian::Ruby.percorso_archivio_non_tradotto caller_locations.first.absolute_path
57
- linea_chiamante = caller_locations.first.lineno
58
- cartella_chiamante = File.dirname sorgente_chiamante
59
- cartella_da_richiedere = File.expand_path File.join(cartella_chiamante, percorso_cartella)
60
- cartella_da_richiedere = nil unless Dir.exist? cartella_da_richiedere
61
-
52
+ sorgente_chiamante, linea_chiamante = ottieni_sorgente_e_linea_chiamante caller_locations
53
+ cartella_da_richiedere = cartella_relativa sorgente_chiamante, percorso_cartella
62
54
  raise LoadError, "cannot load such directory -- #{percorso_cartella}" if cartella_da_richiedere.nil?
63
55
  Dir["#{cartella_da_richiedere}/**/*.ir"].sort_by { |file| file.count("/") }.each do |archivio|
64
56
  traduci_e_richiedi archivio
@@ -67,20 +59,75 @@ module Kernel
67
59
  Italian::Ruby::Errori.recupera errore, sorgente_chiamante, linea_chiamante
68
60
  end
69
61
 
62
+ ##
63
+ # Rimanda la costante alla definizione in archivio. La prima volta che viene
64
+ # incontrata la definizione della costante nel codice, allora l'archivio
65
+ # verrà richiesto.
66
+ def rimanda(costante, archivio)
67
+ archivi_in_memoria = $:.map do |cartella|
68
+ Dir["#{cartella}/**/#{archivio}.ir"]
69
+ end
70
+ archivio_da_tradurre = archivi_in_memoria.flatten.compact.first
71
+ archivio_da_richiedere = Italian::Ruby.percorso_archivio_tradotto archivio_in_italiano_da_tradurre
72
+ traduci archivio_da_tradurre
73
+ Object.autoload costante, archivio_da_richiedere
74
+ end
75
+
76
+ ##
77
+ # Come il rimanda, ma usando un percorso relativo.
78
+ def rimanda_relativo(costante, percorso_archivio)
79
+ sorgente_chiamante, linea_chiamante = ottieni_sorgente_e_linea_chiamante caller_locations
80
+ archivio_da_tradurre = archivio_relativo sorgente_chiamante, percorso_archivio
81
+ archivio_da_richiedere = Italian::Ruby.percorso_archivio_tradotto archivio_da_tradurre
82
+ traduci archivio_da_tradurre
83
+ Object.autoload costante, archivio_da_richiedere
84
+ end
85
+
70
86
  private
71
87
 
88
+ ##
89
+ # Traduce un file da ItalianRuby a Ruby.
90
+ def traduci(archivio)
91
+ Italian::Ruby::Traduttore.traduci archivio
92
+ end
93
+
72
94
  ##
73
95
  # Traduce un file da ItalianRuby a Ruby e lo carica in memoria.
74
96
  def traduci_e_carica(archivio)
75
- archivio_tradotto = Italian::Ruby::Traduttore.traduci archivio
76
- load archivio_tradotto
97
+ load traduci(archivio)
77
98
  end
78
99
 
79
100
  ##
80
101
  # Traduce un file da ItalianRuby a Ruby e lo richiede.
81
102
  def traduci_e_richiedi(archivio)
82
- archivio_tradotto = Italian::Ruby::Traduttore.traduci archivio
83
- require archivio_tradotto
103
+ require traduci(archivio)
104
+ end
105
+
106
+ ##
107
+ # Ottiene sorgente e linea chiamante.
108
+ def ottieni_sorgente_e_linea_chiamante(traccia_chiamata)
109
+ sorgente_chiamante = Italian::Ruby.percorso_archivio_non_tradotto traccia_chiamata.first.absolute_path
110
+ linea_chiamante = traccia_chiamata.first.lineno
111
+
112
+ [ sorgente_chiamante, linea_chiamante ]
113
+ end
114
+
115
+ ##
116
+ # Ottiene il percorso archivio relativo del sorgente chiamante.
117
+ def archivio_relativo(sorgente_chiamante, percorso_archivio)
118
+ cartella_chiamante = File.dirname sorgente_chiamante
119
+ archivio_da_richiedere = File.expand_path File.join(cartella_chiamante, percorso_archivio)
120
+ archivio_da_richiedere = Dir["#{archivio_da_richiedere}.{ir,rb}"].compact.first
121
+ archivio_da_richiedere
122
+ end
123
+
124
+ ##
125
+ # Ottiene il percorso cartella relativo del sorgente chiamante.
126
+ def cartella_relativa(sorgente_chiamante, percorso_cartella)
127
+ cartella_chiamante = File.dirname sorgente_chiamante
128
+ cartella_da_richiedere = File.expand_path File.join(cartella_chiamante, percorso_cartella)
129
+ cartella_da_richiedere = nil unless Dir.exist? cartella_da_richiedere
130
+ cartella_da_richiedere
84
131
  end
85
132
 
86
133
  end
@@ -14,4 +14,11 @@ class Set
14
14
  self
15
15
  end
16
16
 
17
+ ##
18
+ # Converte l'insieme in una mappa.
19
+ def in_mappa(&block)
20
+ return self.map(&block).to_h if block_given?
21
+ raise ArgumentError, "must pass a block in order to convert a Set into a Hash"
22
+ end
23
+
17
24
  end
@@ -24,6 +24,24 @@ class Time
24
24
  end
25
25
  end
26
26
 
27
+ ##
28
+ # Sposta il tempo alle ore specificate.
29
+ def alle(ore, minuti = 0, secondi = 0)
30
+ Time.new(self.year, self.month, self.day, ore, minuti, secondi)
31
+ end
32
+
33
+ ##
34
+ # Ritorna il tempo all'inizio del giorno.
35
+ def inizio_giorno
36
+ Time.new(self.year, self.month, self.day)
37
+ end
38
+
39
+ ##
40
+ # Ritorna il tempo alla fine del giorno.
41
+ def fine_giorno
42
+ Time.new(self.year, self.month, self.day, 23, 59, 59)
43
+ end
44
+
27
45
  ##
28
46
  # Ritorna il tempo all'inizio dell'ora.
29
47
  def inizio_ora
@@ -1,5 +1,5 @@
1
1
  module Italian
2
2
  module Ruby
3
- VERSIONE = "1.2.8"
3
+ VERSIONE = "1.3.4"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: italian-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.8
4
+ version: 1.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Francesco Ballardin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-12 00:00:00.000000000 Z
11
+ date: 2021-04-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler