Class: String

Inherits:
Object show all
Defined in:
lib/italian/ruby/alias/string.rb,
lib/italian/ruby/metodi/string.rb

Constant Summary collapse

CODICI_COLORI =

Codici colori.

Hash[
  rosso:            "31",
  verde:            "32",
  giallo:           "33",
  blu:              "34",
  magenta:          "35",
  azzurro:          "36",
  arancione:        "38;5;214",
  verde_pallido:    "38;5;157"
].freeze

Instance Method Summary collapse

Instance Method Details

#_stampa(*args) ⇒ Object

Rappresentazione per stampa.



212
213
214
# File 'lib/italian/ruby/metodi/string.rb', line 212

def _stampa(*args)
  %{"#{self}"}.giallo
end

#adatta(l) ⇒ Object

Adatta la stringa alla lunghezza specificata. Se la stringa è più lunga, la tronca e mette dei puntini di sospensione. Se la stringa è più corta, aggiunge n spazi vuoti alla fine per coprire.



196
197
198
199
200
201
202
# File 'lib/italian/ruby/metodi/string.rb', line 196

def adatta(l)
  if self.length > l
    "#{self[0..l - 3]}.."
  else
    self.ljust l, " "
  end
end

#arancioneObject



53
54
55
# File 'lib/italian/ruby/metodi/string.rb', line 53

def arancione
  colorize CODICI_COLORI[:arancione]
end

#azzurroObject



49
50
51
# File 'lib/italian/ruby/metodi/string.rb', line 49

def azzurro
  colorize CODICI_COLORI[:azzurro]
end

#biancoObject



25
26
27
# File 'lib/italian/ruby/metodi/string.rb', line 25

def bianco
  self
end

#bluObject



41
42
43
# File 'lib/italian/ruby/metodi/string.rb', line 41

def blu
  colorize CODICI_COLORI[:blu]
end

#colorize(color_code) ⇒ Object

Metodi per la colorizzazione delle stringhe, quando stampate a terminale.



21
22
23
# File 'lib/italian/ruby/metodi/string.rb', line 21

def colorize(color_code)
  "\e[#{color_code}m#{self}\e[0m"
end

#decolorizzaObject



61
62
63
# File 'lib/italian/ruby/metodi/string.rb', line 61

def decolorizza
  self.gsub /(\u001b\[3\dm|\u001b\[3\d;\d;\d\d\dm|\u001b\[0m)/, ""
end

#disaccoppia_coloreObject



65
66
67
68
69
70
71
72
# File 'lib/italian/ruby/metodi/string.rb', line 65

def disaccoppia_colore
  return [ nil, self ]    if self.decolorizza == self
  parte_colore            = self.scansiona /\u001b\[3[\d;]+m/
  codice_colore           = parte_colore.prima[2..-2]
  colore                  = CODICI_COLORI.invert.fetch codice_colore

  [ colore, self.decolorizza ]
end

#esiste?Boolean

Determina se la stringa esiste e non è vuota.

Returns:

  • (Boolean)


76
77
78
# File 'lib/italian/ruby/metodi/string.rb', line 76

def esiste?
  !nil? and self != ""
end

#gialloObject



37
38
39
# File 'lib/italian/ruby/metodi/string.rb', line 37

def giallo
  colorize CODICI_COLORI[:giallo]
end

#in_classeObject

Converte la stringa nella classe con lo steso nome.



146
147
148
# File 'lib/italian/ruby/metodi/string.rb', line 146

def in_classe
  Object.const_get self
end

#in_dataObject

Converte la stringa in data.



100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# File 'lib/italian/ruby/metodi/string.rb', line 100

def in_data
  return unless defined? Date
  Date.parse self
    .gsub(/gennaio/i,   "JAN")
    .gsub(/maggio/i,    "MAY")
    .gsub(/giugno/i,    "JUN")
    .gsub(/luglio/i,    "JUL")
    .gsub(/agosto/i,    "AUG")
    .gsub(/settembre/i, "SEP")
    .gsub(/ottobre/i,   "OCT")
    .gsub(/dicembre/i,  "DEC")
    .gsub(/GEN/i,       "JAN")
    .gsub(/MAG/i,       "MAY")
    .gsub(/GIU/i,       "JUN")
    .gsub(/LUG/i,       "JUL")
    .gsub(/AGO/i,       "AUG")
    .gsub(/SET/i,       "SEP")
    .gsub(/OTT/i,       "OCT")
    .gsub(/DIC/i,       "DEC")
end

#in_tempoObject

Converte la stringa in tempo.



123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
# File 'lib/italian/ruby/metodi/string.rb', line 123

def in_tempo
  return unless defined? Time
  Time.parse self
    .gsub(/gennaio/i,   "JAN")
    .gsub(/maggio/i,    "MAY")
    .gsub(/giugno/i,    "JUN")
    .gsub(/luglio/i,    "JUL")
    .gsub(/agosto/i,    "AUG")
    .gsub(/settembre/i, "SEP")
    .gsub(/ottobre/i,   "OCT")
    .gsub(/dicembre/i,  "DEC")
    .gsub(/GEN/i,       "JAN")
    .gsub(/MAG/i,       "MAY")
    .gsub(/GIU/i,       "JUN")
    .gsub(/LUG/i,       "JUL")
    .gsub(/AGO/i,       "AUG")
    .gsub(/SET/i,       "SEP")
    .gsub(/OTT/i,       "OCT")
    .gsub(/DIC/i,       "DEC")
end

#magentaObject



45
46
47
# File 'lib/italian/ruby/metodi/string.rb', line 45

def magenta
  colorize CODICI_COLORI[:magenta]
end

#non_finisce_con?(*args) ⇒ Boolean

Determina se la stringa non finisce con un’altra stringa.

Returns:

  • (Boolean)


94
95
96
# File 'lib/italian/ruby/metodi/string.rb', line 94

def non_finisce_con?(*args)
  !finisce_con? *args
end

#non_include?(*args) ⇒ Boolean

Determina se la stringa non include un’altra stringa.

Returns:

  • (Boolean)


82
83
84
# File 'lib/italian/ruby/metodi/string.rb', line 82

def non_include?(*args)
  !include? *args
end

#non_inizia_con?(*args) ⇒ Boolean

Determina se la stringa non inizia con un’altra stringa.

Returns:

  • (Boolean)


88
89
90
# File 'lib/italian/ruby/metodi/string.rb', line 88

def non_inizia_con?(*args)
  !inizia_con? *args
end

#primi(n) ⇒ Object

Restituisce i primi n caratteri della stringa.



152
153
154
# File 'lib/italian/ruby/metodi/string.rb', line 152

def primi(n)
  self[0..(n - 1)]
end

#primo_carattereObject

Restituisce il primo carattere della stringa.



158
159
160
# File 'lib/italian/ruby/metodi/string.rb', line 158

def primo_carattere
  self[0]
end

#rossoObject



29
30
31
# File 'lib/italian/ruby/metodi/string.rb', line 29

def rosso
  colorize CODICI_COLORI[:rosso]
end

#salta_caratteri(n) ⇒ Object

Restituisce la stringa escludendo i primi n caratteri.



170
171
172
# File 'lib/italian/ruby/metodi/string.rb', line 170

def salta_caratteri(n)
  self[(n - 1)..-1]
end

#salta_il_primo_carattereObject

Restituisce la stringa escludendo il primo carattere.



176
177
178
# File 'lib/italian/ruby/metodi/string.rb', line 176

def salta_il_primo_carattere
  self[1..-1]
end

#specificata?Object



46
# File 'lib/italian/ruby/alias/string.rb', line 46

alias       :specificata?             :esiste?

#specificato?Object



45
# File 'lib/italian/ruby/alias/string.rb', line 45

alias       :specificato?             :esiste?

#troncaObject

Restituisce la stringa togliendo l’ultimo carattere.



188
189
190
# File 'lib/italian/ruby/metodi/string.rb', line 188

def tronca
  self[0..-2]
end

#tronca_caratteri(n) ⇒ Object

Restituisce la stringa togliendo gli ultimi n caratteri.



182
183
184
# File 'lib/italian/ruby/metodi/string.rb', line 182

def tronca_caratteri(n)
  self[0..(-1 - n)]
end

#ultimo_carattereObject

Restituisce l’ultimo carattere della stringa.



164
165
166
# File 'lib/italian/ruby/metodi/string.rb', line 164

def ultimo_carattere
  self[-1]
end

#ultimo_indiceObject

Restituisce l’ultimo indice della stringa.



206
207
208
# File 'lib/italian/ruby/metodi/string.rb', line 206

def ultimo_indice
  self.length - 1
end

#verdeObject



33
34
35
# File 'lib/italian/ruby/metodi/string.rb', line 33

def verde
  colorize CODICI_COLORI[:verde]
end

#verde_pallidoObject



57
58
59
# File 'lib/italian/ruby/metodi/string.rb', line 57

def verde_pallido
  colorize CODICI_COLORI[:verde_pallido]
end