italian-ruby 1.0.7 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
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: []