italian-ruby 0.9.16 → 1.0.2

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 +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/{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 +48 -0
  38. data/lib/italian/ruby/{core_ext → alias}/string.rb +5 -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 +168 -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 -92
  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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 57478929b50282fa000339fec8d9357991d5d393a06f7ccdfacf0f1288bf9ff4
4
- data.tar.gz: 78f6a2a4fff16dbb06951de926cebaa6fcdfc4372df81805fe19b849193248c9
3
+ metadata.gz: ee8de3a330795b109c5851c18e0f146c1c7e2006a805487bb3af0095ac102a84
4
+ data.tar.gz: 872fec5fd21cea7baee6e553954e1eee7380ca85119432456826ebfa67618ccb
5
5
  SHA512:
6
- metadata.gz: '0280f2c8e7afb97ea0b303f216b54c83da0ce24df95219b1f5dff417ae0630be46b70223a0172328c104cacc8a5485a0323a1fabe687ae882f9e87b9d7485ee3'
7
- data.tar.gz: 02acc4e6971374f277c3311360421a0336a4370914bd28a16123bc5bd7a841e205192a94076ba5ead4e7e5a36e2f088cc399c6706176aed83b36ec06c745159d
6
+ metadata.gz: 439f5f7b26f73290b3f0c3837082cc3ba45465a75940edbc15da0cdcccf54139cc0cc870549541c687d94c59bd0ab0d7450c658bb542ff36316fc8bf0afda7c0
7
+ data.tar.gz: 044d1934168a41b6e54c7938bca1610b1e47891d8aa589a5cd69b9f03512e12de9615e49188b76e491e17a5bf78a2f3959899f76ec42ba9a966772646a6e10e4
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,28 @@
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/set"
25
+ require_relative "alias/symbol"
26
+ require_relative "alias/string"
27
+ require_relative "alias/time"
28
+ 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
@@ -43,6 +42,8 @@ class Array
43
42
  alias :almeno_una? :any?
44
43
  alias :nessuno? :none?
45
44
  alias :nessuna? :none?
45
+ alias :uno? :one?
46
+ alias :una? :one?
46
47
  alias :congela :freeze
47
48
  alias :seleziona :select
48
49
  alias :seleziona! :select!
@@ -73,82 +74,14 @@ class Array
73
74
  alias :salta_i_primi :drop
74
75
  alias :salta_le_prime :drop
75
76
 
76
- def esiste?
77
- !nil? && !empty?
78
- end
79
-
80
- def non_include?(*args)
81
- !include? *args
82
- end
83
-
84
- def pizzica(method_name)
85
- self.map do |element|
86
- if element.respond_to? method_name
87
- element.send method_name
88
- elsif element.is_a? Hash
89
- element[method_name]
90
- else
91
- raise ArgumentError, "Array elements do not respond to #{method_name}."
92
- end
93
- end
94
- end
95
-
96
- def simbolizza!
97
- self.map! do |element|
98
- if element.is_a? Hash
99
- element.simbolizza!
100
- else
101
- element
102
- end
103
- end
104
- self
105
- end
106
-
107
- def simbolizza
108
- self.map do |element|
109
- if element.is_a? Hash
110
- element.simbolizza
111
- else
112
- element
113
- end
114
- end
115
- end
116
-
117
- def mappa_e_rimuovi_duplicati(&block)
118
- self.map.with_index(&block).uniq
119
- end
120
-
121
- def mappa_e_compatta(&block)
122
- self.map.with_index(&block).compact
123
- end
124
-
125
- def mappa_e_appiattisci(&block)
126
- self.map.with_index(&block).flatten
127
- end
128
-
129
- def in_mappa(&block)
130
- if block_given?
131
- self.map(&block).to_h
132
- else
133
- self.to_h
134
- end
135
- end
136
-
137
- def secondo
138
- self[1]
139
- end
140
- alias :seconda :secondo
141
-
142
- def tronca(n = 0)
143
- self[0..(-1 - n)]
144
- end
145
- alias :salta_gli_ultimi :tronca
146
- alias :salta_le_ultime :tronca
147
-
148
- def salta_il_primo
149
- self.drop 1
150
- end
151
- 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
152
85
  end
153
86
 
154
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