italian-ruby 0.9.17 → 1.0.3

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 (81) 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 +29 -0
  14. data/lib/italian/ruby/{core_ext → alias}/array.rb +11 -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 +19 -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 +5 -39
  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/alias/regexp.rb +13 -0
  36. data/lib/italian/ruby/{core_ext/gems → alias}/rspec.rb +7 -61
  37. data/lib/italian/ruby/alias/set.rb +39 -0
  38. data/lib/italian/ruby/alias/socket.rb +48 -0
  39. data/lib/italian/ruby/{core_ext → alias}/string.rb +5 -69
  40. data/lib/italian/ruby/{core_ext → alias}/symbol.rb +4 -5
  41. data/lib/italian/ruby/alias/time.rb +26 -0
  42. data/lib/italian/ruby/{core_ext → alias}/true_class.rb +4 -3
  43. data/lib/italian/ruby/errori.rb +84 -0
  44. data/lib/italian/ruby/metodi.rb +17 -0
  45. data/lib/italian/ruby/metodi/array.rb +105 -0
  46. data/lib/italian/ruby/metodi/date.rb +46 -0
  47. data/lib/italian/ruby/metodi/hash.rb +57 -0
  48. data/lib/italian/ruby/metodi/integer.rb +45 -0
  49. data/lib/italian/ruby/metodi/json.rb +17 -0
  50. data/lib/italian/ruby/metodi/kernel.rb +86 -0
  51. data/lib/italian/ruby/metodi/main.rb +31 -0
  52. data/lib/italian/ruby/metodi/module.rb +46 -0
  53. data/lib/italian/ruby/metodi/nil_class.rb +11 -0
  54. data/lib/italian/ruby/metodi/object.rb +64 -0
  55. data/lib/italian/ruby/{core_ext → metodi}/open_struct.rb +5 -7
  56. data/lib/italian/ruby/metodi/range.rb +11 -0
  57. data/lib/italian/ruby/metodi/rspec.rb +64 -0
  58. data/lib/italian/ruby/metodi/socket.rb +18 -0
  59. data/lib/italian/ruby/metodi/string.rb +168 -0
  60. data/lib/italian/ruby/metodi/time.rb +51 -0
  61. data/lib/italian/ruby/traduttore.rb +93 -122
  62. data/lib/italian/ruby/traduttore/linea.rb +144 -0
  63. data/lib/italian/ruby/traduttore/pezzo.rb +106 -0
  64. data/lib/italian/ruby/traduttore/stringa.rb +76 -0
  65. data/lib/italian/ruby/{version.rb → versione.rb} +1 -1
  66. metadata +60 -43
  67. data/Rakefile +0 -6
  68. data/lib/italian/ruby/core_ext.rb +0 -32
  69. data/lib/italian/ruby/core_ext/errors.rb +0 -12
  70. data/lib/italian/ruby/core_ext/gems/bson.rb +0 -26
  71. data/lib/italian/ruby/core_ext/gems/fabrication.rb +0 -12
  72. data/lib/italian/ruby/core_ext/gems/hanami.rb +0 -92
  73. data/lib/italian/ruby/core_ext/gems/rack_test.rb +0 -15
  74. data/lib/italian/ruby/core_ext/json.rb +0 -11
  75. data/lib/italian/ruby/core_ext/kernel.rb +0 -111
  76. data/lib/italian/ruby/core_ext/module.rb +0 -32
  77. data/lib/italian/ruby/core_ext/numeric.rb +0 -6
  78. data/lib/italian/ruby/core_ext/object.rb +0 -83
  79. data/lib/italian/ruby/core_ext/time.rb +0 -69
  80. data/lib/italian/ruby/errore.rb +0 -52
  81. data/lib/italian/ruby/utils/debug.rb +0 -134
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f1f93385bc1c2fa1b84a89c45063741188388da0b507db88ec50f3aa11bfec2e
4
- data.tar.gz: a8860c1929492cac39f03009ceab718ca914d3b7336d737ed3b01684bea0b537
3
+ metadata.gz: 9ad4d3de4b1bea4fc957d1b2ff9f9817bb16680c0a7c2f6c0e5da21a96e35c98
4
+ data.tar.gz: d02978bda604b1e7ba0a6e307a423dc6a4e7923a6c90583d1021c2011422198e
5
5
  SHA512:
6
- metadata.gz: b2d839954feae1f18127881f8a61764bf7c78d066c07bc82ed8327c090cff2e870a988072c38af6cd2df424986dae1f64cc014ea6b70975e438074e6e7891c3f
7
- data.tar.gz: 53689fe401b1c1268078bd748f3476b0e985b7d24f9ff49fa622e8755abc04d21b5b506fb0c25f41b251883b1a82a0be0f569170d0edc5f120d5ec3f6a8a2d50
6
+ metadata.gz: 60f19363e70ec6c54fc9b4b1ef5f494c92e986e4db2f806a33dcd0d68affac0681d919ac562d548f0fc72b540a99b1564aeda454ff40cc5df29cbc0da12acaa4
7
+ data.tar.gz: e2e8846c4d1781b54265a56fc8bfb71ff6dcab7173366d78919de3b7d010c040576b3dcda5e1827272a694ecab8f662aa0250090a52acb87df02d2087b8272e1
data/.gitignore CHANGED
@@ -8,6 +8,7 @@
8
8
  /tmp/
9
9
 
10
10
  .italian-ruby
11
+ *.swp
11
12
 
12
13
  # rspec failure tracking
13
14
  .rspec_status
@@ -1 +1 @@
1
- 2.7.0
1
+ 2.7.2
@@ -1,8 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- italian-ruby (0.1.0)
5
- ruby2ruby (~> 2.4)
4
+ italian-ruby (1.0.0)
6
5
 
7
6
  GEM
8
7
  remote: https://rubygems.org/
@@ -22,12 +21,6 @@ GEM
22
21
  diff-lcs (>= 1.2.0, < 2.0)
23
22
  rspec-support (~> 3.9.0)
24
23
  rspec-support (3.9.2)
25
- ruby2ruby (2.4.4)
26
- ruby_parser (~> 3.1)
27
- sexp_processor (~> 4.6)
28
- ruby_parser (3.14.2)
29
- sexp_processor (~> 4.9)
30
- sexp_processor (4.14.1)
31
24
 
32
25
  PLATFORMS
33
26
  ruby
@@ -39,4 +32,4 @@ DEPENDENCIES
39
32
  rspec (~> 3.9)
40
33
 
41
34
  BUNDLED WITH
42
- 2.1.2
35
+ 2.1.4
@@ -4,28 +4,19 @@
4
4
  require "rspec"
5
5
  require "italian/ruby"
6
6
 
7
- def translate_spec(spec_file)
8
- translated_spec_file = ".italian-ruby/#{File.dirname spec_file}/#{File.basename(spec_file, ".ir")}.rb"
9
- translated_spec_dir = File.dirname translated_spec_file
10
- FileUtils.mkdir_p translated_spec_dir unless Dir.exists? translated_spec_dir
11
- File.write translated_spec_file, Italian::Ruby::Traduttore.traduci(spec_file)
12
- translated_spec_file
13
- end
14
-
15
- def destroy_spec(translated_spec_file)
16
- File.delete translated_spec_file if File.exist? translated_spec_file
17
- end
18
-
19
7
  if ARGV[0].nil?
20
- spec_files = Dir["spec/**/*_spec.ir"]
21
- if spec_files.empty?
8
+ archivi_con_spec = Dir["spec/**/*_spec.ir"]
9
+
10
+ if archivi_con_spec.none?
22
11
  "Nessun file *_spec.ir trovato."
23
12
  return
24
13
  end
25
14
  else
26
- spec_files = ARGV
15
+ archivi_con_spec = ARGV
16
+ end
17
+
18
+ archivi_tradotti = archivi_con_spec.map do |archivio|
19
+ Italian::Ruby::Traduttore.traduci archivio
27
20
  end
28
21
 
29
- translated_spec_files = spec_files.map { |file| translate_spec file }
30
- RSpec::Core::Runner.run(translated_spec_files, STDIN, STDOUT)
31
- # translated_spec_files.each { |file| destroy_spec file }
22
+ RSpec::Core::Runner.run archivi_tradotti, STDIN, STDOUT
@@ -4,15 +4,15 @@
4
4
  require "italian/ruby"
5
5
 
6
6
  if ARGV[0].nil?
7
- puts <<~EOS
7
+ puts <<~EOC
8
8
  Esegue un file scritto in Italian Ruby. Sintassi:
9
9
  italian-ruby file.ir
10
- EOS
10
+ EOC
11
11
  else
12
- ARGV.each do |file|
13
- next unless file
12
+ ARGV.each do |percorso_archivio|
13
+ next unless percorso_archivio
14
14
 
15
- codice_ruby = Italian::Ruby::Traduttore.traduci file
16
- eval codice_ruby
15
+ archivio_tradotto = Italian::Ruby::Traduttore.traduci percorso_archivio
16
+ Italian::Ruby::Traduttore.esegui archivio_tradotto
17
17
  end
18
- end
18
+ end
File without changes
File without changes
File without changes
@@ -1,8 +1,8 @@
1
- require_relative 'lib/italian/ruby/version'
1
+ require_relative "lib/italian/ruby/versione"
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "italian-ruby"
5
- spec.version = Italian::Ruby::VERSION
5
+ spec.version = Italian::Ruby::VERSIONE
6
6
  spec.authors = ["Francesco Ballardin"]
7
7
  spec.email = ["francesco.ballardin@gmail.com"]
8
8
  spec.licenses = ["MIT"]
@@ -10,13 +10,14 @@ Gem::Specification.new do |spec|
10
10
  spec.summary = %q{Program in Ruby writing in Italian.}
11
11
  spec.description = %q{Program in Ruby writing in Italian. Yay!}
12
12
  spec.homepage = "https://github.com/Pluvie/italian-ruby"
13
- spec.required_ruby_version = Gem::Requirement.new(">= 2.3.0")
13
+
14
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
14
15
 
15
16
  spec.metadata["allowed_push_host"] = "https://rubygems.org"
16
17
 
17
- spec.metadata["homepage_uri"] = spec.homepage
18
- spec.metadata["source_code_uri"] = "https://github.com/Pluvie/italian-ruby"
19
- spec.metadata["changelog_uri"] = "https://github.com/Pluvie/italian-ruby/CHANGELOG.md"
18
+ spec.metadata["homepage_uri"] = spec.homepage
19
+ spec.metadata["source_code_uri"] = "https://github.com/Pluvie/italian-ruby"
20
+ spec.metadata["changelog_uri"] = "https://github.com/Pluvie/italian-ruby/CHANGELOG.md"
20
21
 
21
22
  # Specify which files should be added to the gem when it is released.
22
23
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
@@ -1,23 +1,48 @@
1
- #####
2
- # Ruby 2.7.0 -> Spegni warning finché non sarà tutto sistemato.
3
- Warning[:experimental] = false
4
- Warning[:deprecated] = false
5
- #####
1
+ require "fileutils"
6
2
 
7
- require "italian/ruby/version"
8
- require "italian/ruby/traduttore"
9
- require "italian/ruby/core_ext"
3
+ require_relative "ruby/metodi"
4
+ require_relative "ruby/alias"
5
+
6
+ require_relative "ruby/versione"
7
+ require_relative "ruby/traduttore"
10
8
 
11
9
  module Italian
12
10
  module Ruby
13
- class << self
14
11
 
15
- def translations_dir_path
16
- path = File.join File.expand_path("~"), ".italian-ruby", "translations"
17
- FileUtils.mkdir_p path unless Dir.exists? path
18
- path
19
- end
12
+ ##
13
+ # Ottiene il percorso dove salvare tutti i file con estensione .ir
14
+ # nella relativa versione tradotta (che avrà estensione .rb).
15
+ def self.cartella_traduzioni
16
+ percorso = File.join cartella_casa, ".italian-ruby", "traduzioni"
17
+ FileUtils.mkdir_p percorso unless Dir.exists? percorso
18
+ percorso
19
+ end
20
20
 
21
+ ##
22
+ # Ottiene il percorso della cartella casa dell'utente corrente.
23
+ def self.cartella_casa
24
+ File.expand_path "~"
21
25
  end
26
+
27
+ ##
28
+ # Restituisce il percorso tradotto di un archivio.
29
+ def self.percorso_archivio_tradotto(percorso_archivio)
30
+ File.join Italian::Ruby.cartella_traduzioni,
31
+ File.expand_path(percorso_archivio).gsub(/\.ir$/, ".rb")
32
+ end
33
+
34
+ ##
35
+ # Restituisce il percorso non tradotto di un archivio.
36
+ def self.percorso_archivio_non_tradotto(percorso_archivio)
37
+ return percorso_archivio unless percorso_archivio.respond_to? :partition
38
+ percorso_archivio.partition(cartella_traduzioni).last.gsub(/\.rb$/, ".ir")
39
+ end
40
+
41
+ ##
42
+ # Aggiunge il percorso indicato ai percorsi di caricamento in memoria.
43
+ def self.aggiungi_percorso_caricamento_in_memoria(percorso_cartella)
44
+ $: << percorso_cartella
45
+ end
46
+
22
47
  end
23
48
  end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "alias/array"
4
+ require_relative "alias/class"
5
+ require_relative "alias/date"
6
+ require_relative "alias/enumerator"
7
+ require_relative "alias/error"
8
+ require_relative "alias/false_class"
9
+ require_relative "alias/file"
10
+ require_relative "alias/float"
11
+ require_relative "alias/hash"
12
+ require_relative "alias/integer"
13
+ require_relative "alias/io"
14
+ require_relative "alias/kernel"
15
+ require_relative "alias/main"
16
+ require_relative "alias/module"
17
+ require_relative "alias/nil_class"
18
+ require_relative "alias/numeric"
19
+ require_relative "alias/object"
20
+ require_relative "alias/open_struct"
21
+ require_relative "alias/proc"
22
+ require_relative "alias/range"
23
+ require_relative "alias/rational"
24
+ require_relative "alias/regexp"
25
+ require_relative "alias/set"
26
+ require_relative "alias/symbol"
27
+ require_relative "alias/string"
28
+ require_relative "alias/time"
29
+ require_relative "alias/true_class"
@@ -1,9 +1,8 @@
1
- ##
2
- # Core Ext - Array
3
- #
4
- # Alias di metodi della classe Array.
1
+ # frozen_string_literal: true
5
2
 
6
3
  class Array
4
+
5
+ alias :ispeziona :inspect
7
6
  alias :per_ogni :each
8
7
  alias :per_ognuno :each
9
8
  alias :per_ognuna :each
@@ -75,82 +74,14 @@ class Array
75
74
  alias :salta_i_primi :drop
76
75
  alias :salta_le_prime :drop
77
76
 
78
- def esiste?
79
- !nil? && !empty?
80
- end
81
-
82
- def non_include?(*args)
83
- !include? *args
84
- end
85
-
86
- def pizzica(method_name)
87
- self.map do |element|
88
- if element.respond_to? method_name
89
- element.send method_name
90
- elsif element.is_a? Hash
91
- element[method_name]
92
- else
93
- raise ArgumentError, "Array elements do not respond to #{method_name}."
94
- end
95
- end
96
- end
97
-
98
- def simbolizza!
99
- self.map! do |element|
100
- if element.is_a? Hash
101
- element.simbolizza!
102
- else
103
- element
104
- end
105
- end
106
- self
107
- end
108
-
109
- def simbolizza
110
- self.map do |element|
111
- if element.is_a? Hash
112
- element.simbolizza
113
- else
114
- element
115
- end
116
- end
117
- end
118
-
119
- def mappa_e_rimuovi_duplicati(&block)
120
- self.map.with_index(&block).uniq
121
- end
122
-
123
- def mappa_e_compatta(&block)
124
- self.map.with_index(&block).compact
125
- end
126
-
127
- def mappa_e_appiattisci(&block)
128
- self.map.with_index(&block).flatten
129
- end
130
-
131
- def in_mappa(&block)
132
- if block_given?
133
- self.map(&block).to_h
134
- else
135
- self.to_h
136
- end
137
- end
138
-
139
- def secondo
140
- self[1]
141
- end
142
- alias :seconda :secondo
143
-
144
- def tronca(n = 0)
145
- self[0..(-1 - n)]
146
- end
147
- alias :salta_gli_ultimi :tronca
148
- alias :salta_le_ultime :tronca
149
-
150
- def salta_il_primo
151
- self.drop 1
152
- end
153
- alias :salta_la_prima :salta_il_primo
77
+ alias :specificato? :esiste?
78
+ alias :specificata? :esiste?
79
+ alias :seconda :secondo
80
+ alias :salta_gli_ultimi :tronca
81
+ alias :salta_le_ultime :tronca
82
+ alias :salta_la_prima :salta_il_primo
83
+ alias :tranne_la_prima :salta_il_primo
84
+ alias :tranne_il_primo :salta_il_primo
154
85
  end
155
86
 
156
87
  Lista = Array
@@ -1,7 +1,13 @@
1
- ##
2
- # CoreExt - Class
1
+ # frozen_string_literal: true
3
2
 
4
3
  class Class
4
+
5
+ class << self
6
+
7
+ alias :definisci_metodo :define_method
8
+
9
+ end
10
+
5
11
  alias :privati :private
6
12
  alias :protetti :protected
7
13
  alias :pubblici :public
@@ -11,4 +17,5 @@ class Class
11
17
  alias :definisci_metodo :define_method
12
18
  alias :apri_classe :class_eval
13
19
  alias :moduli_inclusi :included_modules
20
+
14
21
  end
@@ -1,22 +1,11 @@
1
+ # frozen_string_literal: true
1
2
  require "date"
2
3
 
3
- ##
4
- # Core Ext - Date
5
- #
6
- # Alias di metodi della classe Date.
7
-
8
4
  class Date
5
+
9
6
  class << self
10
7
  alias :oggi :today
11
8
  alias :converti :parse
12
-
13
- def domani
14
- oggi + 1
15
- end
16
-
17
- def ieri
18
- oggi - 1
19
- end
20
9
  end
21
10
 
22
11
  alias :anno_prossimo :next_year
@@ -30,32 +19,11 @@ class Date
30
19
  alias :mese :month
31
20
  alias :anno :year
32
21
  alias :fra? :between?
33
- alias :formatta :strftime
34
22
 
35
- def due_anni_fa
36
- self.prev_year.prev_year
37
- end
38
23
  alias :due_anni_precedenti :due_anni_fa
24
+ alias :formatta :formatta_locale
39
25
 
40
- def formatta_locale(format)
41
- if defined? I18n
42
- I18n.l self, format: format
43
- else
44
- strftime format
45
- end
46
- end
47
-
48
- alias :original_equality :==
49
- def ==(other)
50
- return (self == other.to_date) if other.is_a? Time
51
- original_equality other
52
- end
53
-
54
- alias :original_compare :<=>
55
- def <=>(other)
56
- return (self <=> other.to_date) if other.is_a? Time
57
- original_compare other
58
- end
59
26
  end
60
27
 
28
+ Object.send :remove_const, :Data
61
29
  Data = Date
@@ -1,9 +1,8 @@
1
- ##
2
- # Core Ext - Enumerator
3
- #
4
- # Alias di metodi della classe Enumerator.
1
+ # frozen_string_literal: true
5
2
 
6
3
  class Enumerator
4
+
7
5
  alias :mappa :map
8
6
  alias :con_indice :with_index
9
- end
7
+
8
+ end