italian-ruby 0.9.15 → 1.0.1

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.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.ruby-version +1 -1
  4. data/Gemfile.lock +2 -9
  5. data/bin/italian-rspec +9 -18
  6. data/bin/italian-ruby +7 -7
  7. data/{vim → dev/vim}/ftdetect/ir.vim +0 -0
  8. data/{vim → dev/vim}/syntax/ir.vim +0 -0
  9. data/{vim → dev/vim}/vimrc +0 -0
  10. data/{vscode → dev/vscode}/italianruby.tmGrammar.json +0 -0
  11. data/italian-ruby.gemspec +7 -6
  12. data/lib/italian/ruby.rb +39 -14
  13. data/lib/italian/ruby/alias.rb +28 -0
  14. data/lib/italian/ruby/{core_ext → alias}/array.rb +13 -80
  15. data/lib/italian/ruby/{core_ext → alias}/class.rb +9 -2
  16. data/lib/italian/ruby/{core_ext → alias}/date.rb +4 -36
  17. data/lib/italian/ruby/{core_ext → alias}/enumerator.rb +4 -5
  18. data/lib/italian/ruby/alias/error.rb +17 -0
  19. data/lib/italian/ruby/{core_ext → alias}/false_class.rb +4 -3
  20. data/lib/italian/ruby/{core_ext → alias}/file.rb +6 -9
  21. data/lib/italian/ruby/{core_ext → alias}/float.rb +3 -4
  22. data/lib/italian/ruby/{core_ext → alias}/hash.rb +6 -36
  23. data/lib/italian/ruby/{core_ext → alias}/integer.rb +2 -26
  24. data/lib/italian/ruby/alias/io.rb +7 -0
  25. data/lib/italian/ruby/alias/kernel.rb +9 -0
  26. data/lib/italian/ruby/{core_ext → alias}/main.rb +5 -23
  27. data/lib/italian/ruby/alias/module.rb +9 -0
  28. data/lib/italian/ruby/{core_ext → alias}/nil_class.rb +3 -5
  29. data/lib/italian/ruby/alias/numeric.rb +3 -0
  30. data/lib/italian/ruby/alias/object.rb +39 -0
  31. data/lib/italian/ruby/alias/open_struct.rb +3 -0
  32. data/lib/italian/ruby/{core_ext → alias}/proc.rb +4 -5
  33. data/lib/italian/ruby/{core_ext → alias}/range.rb +2 -7
  34. data/lib/italian/ruby/{core_ext → alias}/rational.rb +3 -4
  35. data/lib/italian/ruby/{core_ext/gems → alias}/rspec.rb +7 -61
  36. data/lib/italian/ruby/alias/set.rb +39 -0
  37. data/lib/italian/ruby/alias/socket.rb +30 -0
  38. data/lib/italian/ruby/{core_ext → alias}/string.rb +4 -65
  39. data/lib/italian/ruby/{core_ext → alias}/symbol.rb +4 -5
  40. data/lib/italian/ruby/alias/time.rb +26 -0
  41. data/lib/italian/ruby/{core_ext → alias}/true_class.rb +4 -3
  42. data/lib/italian/ruby/errori.rb +84 -0
  43. data/lib/italian/ruby/metodi.rb +16 -0
  44. data/lib/italian/ruby/metodi/array.rb +105 -0
  45. data/lib/italian/ruby/metodi/date.rb +46 -0
  46. data/lib/italian/ruby/metodi/hash.rb +57 -0
  47. data/lib/italian/ruby/metodi/integer.rb +45 -0
  48. data/lib/italian/ruby/metodi/json.rb +17 -0
  49. data/lib/italian/ruby/metodi/kernel.rb +86 -0
  50. data/lib/italian/ruby/metodi/main.rb +31 -0
  51. data/lib/italian/ruby/metodi/module.rb +46 -0
  52. data/lib/italian/ruby/metodi/nil_class.rb +11 -0
  53. data/lib/italian/ruby/metodi/object.rb +64 -0
  54. data/lib/italian/ruby/{core_ext → metodi}/open_struct.rb +5 -7
  55. data/lib/italian/ruby/metodi/range.rb +11 -0
  56. data/lib/italian/ruby/metodi/rspec.rb +64 -0
  57. data/lib/italian/ruby/metodi/string.rb +142 -0
  58. data/lib/italian/ruby/metodi/time.rb +51 -0
  59. data/lib/italian/ruby/traduttore.rb +93 -122
  60. data/lib/italian/ruby/traduttore/linea.rb +144 -0
  61. data/lib/italian/ruby/traduttore/pezzo.rb +106 -0
  62. data/lib/italian/ruby/traduttore/stringa.rb +76 -0
  63. data/lib/italian/ruby/{version.rb → versione.rb} +1 -1
  64. metadata +58 -43
  65. data/Rakefile +0 -6
  66. data/lib/italian/ruby/core_ext.rb +0 -32
  67. data/lib/italian/ruby/core_ext/errors.rb +0 -12
  68. data/lib/italian/ruby/core_ext/gems/bson.rb +0 -26
  69. data/lib/italian/ruby/core_ext/gems/fabrication.rb +0 -12
  70. data/lib/italian/ruby/core_ext/gems/hanami.rb +0 -66
  71. data/lib/italian/ruby/core_ext/gems/rack_test.rb +0 -15
  72. data/lib/italian/ruby/core_ext/json.rb +0 -11
  73. data/lib/italian/ruby/core_ext/kernel.rb +0 -111
  74. data/lib/italian/ruby/core_ext/module.rb +0 -32
  75. data/lib/italian/ruby/core_ext/numeric.rb +0 -6
  76. data/lib/italian/ruby/core_ext/object.rb +0 -79
  77. data/lib/italian/ruby/core_ext/time.rb +0 -69
  78. data/lib/italian/ruby/errore.rb +0 -52
  79. data/lib/italian/ruby/utils/debug.rb +0 -134
@@ -1,15 +0,0 @@
1
- ##
2
- # Core Ext - Rack Test
3
-
4
- module Rack
5
- class MockResponse
6
- alias :stato :status
7
- alias :corpo :body
8
- alias :intestazioni :original_headers
9
- alias :ha_intestazione? :has_header?
10
-
11
- def converti_corpo_in_json
12
- JSON.parse corpo
13
- end
14
- end
15
- end
@@ -1,11 +0,0 @@
1
- ##
2
- # CoreExt - JSON
3
-
4
- module JSON
5
- def self.processa(*args)
6
- self.parse(*args)
7
- end
8
- def self.in_stringa(*args)
9
- self.dump(*args)
10
- end
11
- end
@@ -1,111 +0,0 @@
1
- require "fileutils"
2
-
3
- ##
4
- # CoreExt - Kernel
5
- #
6
- # Aggiunge i metodi :richiedi e :richiedi_relativo, che permettono di caricare
7
- # un file sorgente scritto in Italian Ruby e usarlo allo stesso modo di come
8
- # funzionano :require e :require_relative di Ruby standard.
9
- #
10
- # È possibile utilizzare :richiedi e :richiedi_relativo sia in file sorgenti
11
- # scritti in Italian Ruby che in file sorgenti scritti in Ruby standard.
12
-
13
- module Kernel
14
- alias :classe :class
15
- alias :ottieni_variabile_istanza :instance_variable_get
16
- alias :imposta_variabile_istanza :instance_variable_set
17
-
18
- def carica(name)
19
- traduci_e_carica File.expand_path(name)
20
- end
21
-
22
- def richiedi(name)
23
- file_to_require = $:.map { |dir| Dir["#{dir}/**/#{name}.ir"] }.flatten.compact.first
24
-
25
- if file_to_require.nil?
26
- begin
27
- require name
28
- rescue SyntaxError => errore
29
- riga = errore.message.split("\n").first.split(":")[1].to_i rescue 0
30
- Italian::Ruby::Errore::Sintassi.new("Errore di sintassi.", name, riga, 0).stampa
31
- end
32
- else
33
- traduci_e_richiedi file_to_require
34
- end
35
- end
36
-
37
- def richiedi_relativo(name)
38
- caller_location_dir = File.dirname caller_locations.first.absolute_path
39
- if caller_location_dir.start_with?(Italian::Ruby.translations_dir_path)
40
- caller_location_dir = caller_location_dir[Italian::Ruby.translations_dir_path.length..-1]
41
- elsif caller_location_dir.include?(".italian-ruby/")
42
- caller_location_dir.gsub! ".italian-ruby/", ""
43
- end
44
- caller_location_file = File.expand_path "#{caller_location_dir}/#{name}"
45
- file_to_require = Dir["#{caller_location_file}.{ir,rb}"].compact.first
46
- raise LoadError.new("cannot load such file -- #{name}") unless File.exist? file_to_require
47
-
48
- traduci_e_richiedi file_to_require
49
- end
50
-
51
- def richiedi_assoluto(file)
52
- raise LoadError.new("cannot load such file -- #{file}") unless File.exist? file
53
- traduci_e_richiedi file
54
- end
55
-
56
- def richiedi_tutti(dir)
57
- caller_location_dir = "#{File.dirname caller_locations.first.absolute_path}/#{dir}"
58
- if caller_location_dir.start_with?(Italian::Ruby.translations_dir_path)
59
- caller_location_dir = caller_location_dir[Italian::Ruby.translations_dir_path.length..-1]
60
- end
61
- raise LoadError.new("cannot load such directory -- #{dir}") unless Dir.exist? caller_location_dir
62
-
63
- Dir["#{caller_location_dir}/**/*.ir"].sort_by { |file| file.count("/") }.each do |file|
64
- richiedi_assoluto file
65
- end
66
- end
67
-
68
- private
69
-
70
- def traduci_file(file_to_translate)
71
- file_to_translate_dir = File.dirname file_to_translate
72
- file_to_translate_ext = File.extname file_to_translate
73
- file_to_translate_basename = File.basename file_to_translate, file_to_translate_ext
74
-
75
- parsed_dir = File.join Italian::Ruby.translations_dir_path, file_to_translate_dir
76
- FileUtils.mkdir_p parsed_dir unless Dir.exists? parsed_dir
77
- parsed_file = File.join parsed_dir, "#{file_to_translate_basename}.rb"
78
-
79
- if file_to_translate_ext == ".rb"
80
- parsed_code = File.read file_to_translate
81
- else
82
- parsed_code = Italian::Ruby::Traduttore.traduci file_to_translate
83
- end
84
-
85
- File.write parsed_file, parsed_code
86
- parsed_file
87
- end
88
-
89
- def traduci_e_richiedi(file_to_require)
90
- parsed_file = traduci_file file_to_require
91
-
92
- begin
93
- require parsed_file
94
- rescue SyntaxError => errore
95
- riga = errore.message.split("\n").first.split(":")[1].to_i rescue 0
96
- Italian::Ruby::Errore::Sintassi.new("Errore di sintassi.", parsed_file, riga, 0).stampa
97
- end
98
- end
99
-
100
- def traduci_e_carica(file_to_load)
101
- parsed_file = traduci_file file_to_load
102
-
103
- begin
104
- load parsed_file
105
- rescue SyntaxError => errore
106
- riga = errore.message.split("\n").first.split(":")[1].to_i rescue 0
107
- Italian::Ruby::Errore::Sintassi.new("Errore di sintassi.", parsed_file, riga, 0).stampa
108
- end
109
- end
110
-
111
- end
@@ -1,32 +0,0 @@
1
- ##
2
- # CoreExt - Module
3
-
4
- class Module
5
- alias :privati :private
6
- alias :protetti :protected
7
- alias :pubblici :public
8
-
9
- private
10
-
11
- def quando_incluso(*args)
12
- end
13
-
14
- def quando_esteso(*args)
15
- end
16
-
17
- def quando_preposto(*args)
18
- end
19
-
20
- def included(*args)
21
- quando_incluso *args
22
- end
23
-
24
- def extended(*args)
25
- quando_esteso *args
26
- end
27
-
28
- def prepended(*args)
29
- quando_preposto *args
30
- end
31
-
32
- end
@@ -1,6 +0,0 @@
1
- ##
2
- # Core Ext - Numeric
3
- #
4
- # Alias di metodi della classe Numeric.
5
-
6
- Numerico = Numeric
@@ -1,79 +0,0 @@
1
- ##
2
- # Core Ext - Oggetti
3
- #
4
- # Alias di metodi della classe Object.
5
-
6
- class Object
7
- class << self
8
- alias :nuovo :new
9
- alias :nuova :new
10
- alias :ottieni_costante :const_get
11
- alias :in_stringa :to_s
12
- end
13
-
14
- alias :nullo? :nil?
15
- alias :nulla? :nil?
16
- alias :risponde_a? :respond_to?
17
- alias :manda :send
18
- alias :ispeziona :inspect
19
- alias :è_un? :is_a?
20
- alias :è_una? :is_a?
21
- alias :valuta_in_istanza :instance_eval
22
- alias :esegui_in_istanza :instance_exec
23
- alias :clona :clone
24
-
25
- def esiste?
26
- !nil?
27
- end
28
- alias :specificato? :esiste?
29
- alias :specificata? :esiste?
30
- alias :non_è_nullo? :esiste?
31
- alias :non_è_nulla? :esiste?
32
-
33
- def non_esiste?
34
- !esiste?
35
- end
36
- alias :non_specificato? :non_esiste?
37
- alias :non_specificata? :non_esiste?
38
-
39
- def non_è_un?(arg)
40
- !is_a? arg
41
- end
42
- alias :non_è_una? :non_è_un?
43
-
44
- def non_risponde_a?(method)
45
- !respond_to? method
46
- end
47
-
48
- def in?(array)
49
- raise ArgumentError.new("Argument passed to `in?` must respond to `include?`") unless
50
- array.respond_to? :include?
51
- array.include? self
52
- end
53
-
54
- def non_in?(array)
55
- !in? array
56
- end
57
-
58
- def in_json
59
- to_json
60
- end
61
-
62
- private
63
-
64
- def inizializzatore(*args, **options, &block)
65
- end
66
-
67
- def initialize(*args, **options, &block)
68
- inizializzatore *args, **options, &block
69
- end
70
-
71
- def istanza
72
- self
73
- end
74
- alias :se_stesso :istanza
75
- alias :se_stessa :istanza
76
-
77
- end
78
-
79
- Oggetto = Object
@@ -1,69 +0,0 @@
1
- ##
2
- # Core Ext - Time
3
- #
4
- # Alias di metodi della classe Time.
5
-
6
- class Time
7
- class << self
8
- alias :adesso :now
9
- alias :alla :at
10
- alias :al :at
11
- end
12
-
13
- alias :in_stringa :to_s
14
- alias :in_numero :to_i
15
- alias :formatta :strftime
16
- alias :localizza :localtime
17
- alias :secondi :sec
18
- alias :secondo :sec
19
- alias :minuto :min
20
- alias :minuti :min
21
- alias :ore :hour
22
- alias :ora :hour
23
-
24
- def in_data
25
- self.to_date
26
- end
27
-
28
- def in_tempo
29
- self
30
- end
31
-
32
- def formatta_locale(format)
33
- if defined? I18n
34
- I18n.l self, format: format
35
- else
36
- strftime format
37
- end
38
- end
39
-
40
- alias :original_equality :==
41
- def ==(other)
42
- return (self.to_date == other) if other.is_a? Date
43
- original_equality other
44
- end
45
-
46
- alias :original_compare :<=>
47
- def <=>(other)
48
- return (self.to_date <=> other) if other.is_a? Date
49
- original_compare other
50
- end
51
-
52
- def inizio_ora
53
- Time.new(self.year, self.month, self.day, self.hour)
54
- end
55
-
56
- def fine_ora
57
- Time.new(self.year, self.month, self.day, self.hour, 59, 59)
58
- end
59
-
60
- def inizio_minuto
61
- Time.new(self.year, self.month, self.day, self.hour, self.min)
62
- end
63
-
64
- def fine_minuto
65
- Time.new(self.year, self.month, self.day, self.hour, self.min, 59)
66
- end
67
- end
68
-
69
- Tempo = Time
@@ -1,52 +0,0 @@
1
- require_relative "utils/debug"
2
-
3
- module Italian
4
- module Ruby
5
- class Errore < StandardError
6
- class Sintassi < Errore; end
7
- class NonSupportato < Errore; end
8
- class IndividuazioneStringa < Errore; end
9
-
10
- def initialize(messaggio = nil, file = nil, riga = 0, posizione = 0)
11
- @messaggio = messaggio
12
- @file = file
13
- @riga = riga
14
- @posizione = posizione
15
- begin
16
- @linea = File.readlines(@file)[@riga - 1]
17
- rescue StandardError => e
18
- @linea = "Non è stato possibile recuperare la riga #{@riga} del file."
19
- end
20
- end
21
-
22
- def stampa
23
- prova_ad_ottenere_maggiori_informazioni
24
- puts "-----------------------------------------------------------------------------".alzavola
25
- puts "Si è verificato un errore durante la traduzione del file `#{@file}`."
26
- print "L'errore è: "
27
- puts "#{self.class}.".rosso
28
- puts @messaggio
29
- puts
30
- print "Riga: "
31
- puts "#{@riga}".ciano
32
- puts @linea
33
- puts "^".rjust(@posizione + 1, " ").verde_lime
34
- puts
35
- puts "-----------------------------------------------------------------------------".alzavola
36
- exit 1
37
- end
38
-
39
- private
40
-
41
- ##
42
- # Prova a recuperare maggiori informazioni su errore.
43
- def prova_ad_ottenere_maggiori_informazioni
44
- case
45
- when self.class.is_a?(Sintassi)
46
- # TO DO
47
- end
48
- end
49
-
50
- end
51
- end
52
- end
@@ -1,134 +0,0 @@
1
- begin
2
- require "awesome_print"
3
- require "rainbow"
4
- rescue LoadError => error
5
- raise LoadError, "Per utlizzare il modulo utils/debug è necessario installare le gemme "\
6
- "`awesome_print` e `rainbow`."
7
- end
8
-
9
- ##
10
- # Vari metodi e utilità per debuggare.
11
- module Utilità
12
- module Debug
13
- class << self
14
-
15
- def debug(*args)
16
- puts "-----------------------------------------------------------------------------".alzavola
17
- args.each do |arg|
18
- ap arg
19
- end
20
- puts "-----------------------------------------------------------------------------".alzavola
21
- end
22
-
23
- end
24
- end
25
- end
26
-
27
- def debug(*args)
28
- Utilità::Debug.debug *args
29
- end
30
-
31
- ##
32
- # Crea un metodo per ogni colore da poter chiamare su un'istanza di una stringa.
33
- class String
34
-
35
- COLORI = Hash[
36
- aliceblue: :blu_ghiaccio,
37
- antiquewhite: :bianco_antico,
38
- aqua: :acqua,
39
- aquamarine: :acquamarina,
40
- azure: :azzurro,
41
- beige: :beige,
42
- bisque: :biscotto,
43
- blue: :blu,
44
- blueviolet: :blu_viola,
45
- brown: :marrone,
46
- chartreuse: :certosa,
47
- chocolate: :cioccolato,
48
- coral: :corallo,
49
- cornflower: :fiordaliso,
50
- crimson: :cremisi,
51
- cyan: :ciano,
52
- darkblue: :blu_scuro,
53
- darkgray: :grigio_scuro,
54
- darkgreen: :verde_scuro,
55
- darkmagenta: :magenta_scuro,
56
- darkorange: :arancione_scuro,
57
- darkorchid: :orchidea_scuro,
58
- darkred: :rosso_scuro,
59
- darksalmon: :salmone_scuro,
60
- darkseagreen: :verde_mare_scuro,
61
- darkslateblue: :blu_ardesia_scuro,
62
- darkslategray: :grigio_ardesia_scuro,
63
- darkturquoise: :turchese_scuro,
64
- darkviolet: :violetta_scuro,
65
- deeppink: :rosa_scuro,
66
- deepskyblue: :azzurro_cielo_scuro,
67
- forestgreen: :verde_foresta,
68
- fuchsia: :fucsia,
69
- gold: :oro,
70
- gray: :grigio,
71
- green: :verde,
72
- greenyellow: :verde_giallo,
73
- honeydew: :melata,
74
- hotpink: :rosa_caldo,
75
- indianred: :rosso_indiano,
76
- indigo: :indaco,
77
- ivory: :avorio,
78
- khaki: :cachi,
79
- lavender: :lavanda,
80
- lemonchiffon: :limone_crema,
81
- lightblue: :azzurro,
82
- lightgray: :grigio_chiaro,
83
- lightgreen: :verde_chiaro,
84
- lightpink: :rosa_chiaro,
85
- lightyellow: :giallo_chiaro,
86
- lime: :lime,
87
- limegreen: :verde_lime,
88
- linen: :biancheria,
89
- magenta: :magenta,
90
- maroon: :marrone,
91
- midnightblue: :blu_notte,
92
- moccasin: :mocassino,
93
- navajowhite: :bianco_navajo,
94
- navyblue: :blu_navy,
95
- olive: :oliva,
96
- orange: :arancia,
97
- orangered: :rosso_arancio,
98
- orchid: :orchidea,
99
- palegreen: :verde_pallido,
100
- paleturquoise: :turchese_pallido,
101
- peru: :perù,
102
- pink: :rosa,
103
- plum: :prugna,
104
- purple: :viola,
105
- red: :rosso,
106
- royalblue: :blu_reale,
107
- salmon: :salmone,
108
- seagreen: :verde_mare,
109
- seashell: :conchiglia,
110
- sienna: :terra_di_siena,
111
- silver: :argento,
112
- skyblue: :blu_cielo,
113
- slateblue: :blu_ardesia,
114
- slategray: :ardesia,
115
- snow: :neve,
116
- springgreen: :verde_primavera,
117
- steelblue: :blu_acciaio,
118
- tan: :abbronzatura,
119
- teal: :alzavola,
120
- thistle: :cardo,
121
- tomato: :pomodoro,
122
- turquoise: :turchese,
123
- violet: :viola,
124
- wheat: :grano,
125
- whitesmoke: :bianco_fumo,
126
- yellow: :giallo,
127
- yellowgreen: :giallo_verde ]
128
-
129
- COLORI.each do |english_color, italian_color|
130
- self.define_method italian_color do
131
- Rainbow(self).send(:color, english_color)
132
- end
133
- end
134
- end