italian-ruby 1.0.7 → 1.2.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 583072ad0b6fee93cf0044c6ee371bb26b54902b1dbe854f915a46c6f8d9c1bc
4
- data.tar.gz: a6d0ad278fcf82e8ae83c84566fa84fde7aac3e69867714a357aaa91035a55fc
3
+ metadata.gz: e4bebb83d1f1a42c9233a42f44ad75e112e2ec7ac353447bf5dfc5371de6bb2c
4
+ data.tar.gz: 68c110d35fa4cbe4ea6608de9acce8fea2b65b1f61ef7b0396f2fb257929387c
5
5
  SHA512:
6
- metadata.gz: e5c4c0ebfa123dd0e1fa5d769c215d9199ffcddebc8de5c19ef6acf4ccf3ef664c9cebd24abb62d7e8b64dc76aa835f17b7369487e97d223227706153af2fb78
7
- data.tar.gz: 1712f48d1f22e28f04d82acfe2f2e5238817556d395d74851bc8a11cbcbe026847433875b5173403d033f025d58c9f5a30f293f94957967fe8b2ec6178d549ad
6
+ metadata.gz: a4f199506fc8b19f03a9c139d136740f42db164b6a5357d70394df95904d013984e506ce570d73796365d7cbfff7ffc25451d7ac0db7e84bb5b030b46920d614
7
+ data.tar.gz: ceeaf6dc7bbc497a080f14881d446c2cc24c8f44c85563e457665ffc37d9c6dfb6fe80525ca30fa1a2ccf898cb59e5700c7752a99b8b82caaeb080022def2ff9
@@ -1 +1 @@
1
- 2.7.2
1
+ 3.0.0
@@ -0,0 +1,14 @@
1
+ require_relative "lib/italian/ruby/versione"
2
+ versione = Italian::Ruby::VERSIONE
3
+
4
+ comandi = [
5
+ "gem uninstall -Ix italian-ruby",
6
+ "rm pkg/*.gem",
7
+ "gem build italian-ruby.gemspec -o pkg/italian-ruby-#{versione}.gem",
8
+ "gem install pkg/italian-ruby-#{versione}.gem",
9
+ ]
10
+
11
+ comandi.each do |comando|
12
+ puts comando
13
+ %x{#{comando}}
14
+ end
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative "alias/array"
4
+ require_relative "alias/binding"
4
5
  require_relative "alias/class"
5
6
  require_relative "alias/date"
6
7
  require_relative "alias/enumerator"
@@ -19,6 +20,7 @@ require_relative "alias/numeric"
19
20
  require_relative "alias/object"
20
21
  require_relative "alias/open_struct"
21
22
  require_relative "alias/proc"
23
+ require_relative "alias/process"
22
24
  require_relative "alias/range"
23
25
  require_relative "alias/rational"
24
26
  require_relative "alias/regexp"
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Binding
4
+
5
+ alias :ricevitore :receiver
6
+ alias :esecutore :receiver
7
+
8
+ end
9
+
10
+ Contesto = Binding
@@ -16,6 +16,7 @@ class Class
16
16
  alias :scrittore :attr_writer
17
17
  alias :definisci_metodo :define_method
18
18
  alias :apri_classe :class_eval
19
+ alias :valuta_in_classe :class_eval
19
20
  alias :moduli_inclusi :included_modules
20
21
 
21
22
  end
@@ -25,5 +25,5 @@ class Date
25
25
 
26
26
  end
27
27
 
28
- Object.send :remove_const, :Data
28
+ Object.send :remove_const, :Data rescue nil
29
29
  Data = Date
@@ -4,6 +4,7 @@ module Kernel
4
4
 
5
5
  alias :classe :class
6
6
  alias :traccia_chiamante :caller_locations
7
+ alias :variabili_istanza :instance_variables
7
8
  alias :ottieni_variabile_istanza :instance_variable_get
8
9
  alias :imposta_variabile_istanza :instance_variable_set
9
10
  alias :rimuovi_variabile_istanza :remove_instance_variable
@@ -10,4 +10,7 @@ alias :blocco_dato? :block_given?
10
10
  alias :cattura :catch
11
11
  alias :lancia :throw
12
12
  alias :carica :load
13
+ alias :nuovo_processo :fork
14
+ alias :biforca :fork
15
+ alias :blocco :proc
13
16
  alias :Mappa :Hash
@@ -4,5 +4,6 @@ class Proc
4
4
 
5
5
  alias :avvia :call
6
6
  alias :chiama :call
7
+ alias :contesto :binding
7
8
 
8
9
  end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Process
4
+
5
+ class << self
6
+ alias :attendi :wait
7
+ alias :attendi_tutti :waitall
8
+ alias :segnala :kill
9
+ end
10
+
11
+ end
12
+
13
+ Processo = Process
@@ -14,6 +14,22 @@ class Array
14
14
  !include? *args
15
15
  end
16
16
 
17
+ ##
18
+ # Esegue i metodi specificati per ogni elemento della lista.
19
+ def campiona(*method_names)
20
+ self.map do |element|
21
+ method_names.map do |method_name|
22
+ if element.respond_to? method_name
23
+ element.send method_name
24
+ elsif element.is_a? Hash
25
+ element[method_name]
26
+ else
27
+ raise ArgumentError, "Array elements do not respond to #{method_name}."
28
+ end
29
+ end
30
+ end
31
+ end
32
+
17
33
  ##
18
34
  # Esegue il metodo specificato con gli argomenti specificati
19
35
  # per ogni elemento della lista.
@@ -54,6 +54,34 @@ class Hash
54
54
  self.select { |key, value| key.in? keys }
55
55
  end
56
56
 
57
+ ##
58
+ # Ritorna una rappresentazione a singolo livello, con notazione ".".
59
+ def puntifica(*prefissi)
60
+ mappa_puntificata = {}
61
+
62
+ self.each do |chiave, valore|
63
+ case valore
64
+ when Hash
65
+ valore.puntifica *prefissi, chiave do |chiave_prefissa, valore_finale|
66
+ if block_given?
67
+ yield chiave_prefissa, valore_finale
68
+ else
69
+ mappa_puntificata.store chiave_prefissa, valore_finale
70
+ end
71
+ end
72
+ else
73
+ prefisso = [ *prefissi, chiave ].unisci "."
74
+ if block_given?
75
+ yield prefisso, valore
76
+ else
77
+ mappa_puntificata.store prefisso, valore
78
+ end
79
+ end
80
+ end
81
+
82
+ mappa_puntificata
83
+ end
84
+
57
85
  ##
58
86
  # Rappresentazione per stampa.
59
87
  def _stampa(i = 0)
@@ -29,3 +29,9 @@ end
29
29
  def fallisci(*args)
30
30
  fail *args
31
31
  end
32
+
33
+ ##
34
+ # Definisce un metodo mancante.
35
+ def metodo_mancante(nome, *args, &block)
36
+ method_missing nome, *args, &block
37
+ end
@@ -63,13 +63,12 @@ class String
63
63
  end
64
64
 
65
65
  def disaccoppia_colore
66
- indice_inizio_colore = self.index "m"
67
- codice_colore = self[2..indice_inizio_colore - 1]
68
-
69
- porzione_decolorizzata = self[indice_inizio_colore + 1..-5]
66
+ return [ nil, self ] if self.decolorizza == self
67
+ parte_colore = self.scansiona /\u001b\[3[\d;]+m/
68
+ codice_colore = parte_colore.prima[2..-2]
70
69
  colore = CODICI_COLORI.invert.fetch codice_colore
71
70
 
72
- [ colore, porzione_decolorizzata ]
71
+ [ colore, self.decolorizza ]
73
72
  end
74
73
 
75
74
  ##
@@ -1,5 +1,5 @@
1
1
  module Italian
2
2
  module Ruby
3
- VERSIONE = "1.0.7"
3
+ VERSIONE = "1.2.0"
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.0.7
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Francesco Ballardin
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-27 00:00:00.000000000 Z
11
+ date: 2020-12-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -73,10 +73,12 @@ files:
73
73
  - dev/vim/syntax/ir.vim
74
74
  - dev/vim/vimrc
75
75
  - dev/vscode/italianruby.tmGrammar.json
76
+ - install.rb
76
77
  - italian-ruby.gemspec
77
78
  - lib/italian/ruby.rb
78
79
  - lib/italian/ruby/alias.rb
79
80
  - lib/italian/ruby/alias/array.rb
81
+ - lib/italian/ruby/alias/binding.rb
80
82
  - lib/italian/ruby/alias/class.rb
81
83
  - lib/italian/ruby/alias/date.rb
82
84
  - lib/italian/ruby/alias/enumerator.rb
@@ -95,6 +97,7 @@ files:
95
97
  - lib/italian/ruby/alias/object.rb
96
98
  - lib/italian/ruby/alias/open_struct.rb
97
99
  - lib/italian/ruby/alias/proc.rb
100
+ - lib/italian/ruby/alias/process.rb
98
101
  - lib/italian/ruby/alias/range.rb
99
102
  - lib/italian/ruby/alias/rational.rb
100
103
  - lib/italian/ruby/alias/regexp.rb
@@ -140,7 +143,7 @@ metadata:
140
143
  homepage_uri: https://github.com/Pluvie/italian-ruby
141
144
  source_code_uri: https://github.com/Pluvie/italian-ruby
142
145
  changelog_uri: https://github.com/Pluvie/italian-ruby/CHANGELOG.md
143
- post_install_message:
146
+ post_install_message:
144
147
  rdoc_options: []
145
148
  require_paths:
146
149
  - lib
@@ -155,8 +158,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
155
158
  - !ruby/object:Gem::Version
156
159
  version: '0'
157
160
  requirements: []
158
- rubygems_version: 3.1.4
159
- signing_key:
161
+ rubygems_version: 3.2.3
162
+ signing_key:
160
163
  specification_version: 4
161
164
  summary: Program in Ruby writing in Italian.
162
165
  test_files: []