italian-ruby 0.9.18 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) 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 +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 -35
  17. data/lib/italian/ruby/{core_ext → alias}/enumerator.rb +4 -5
  18. data/lib/italian/ruby/{core_ext/errors.rb → alias/error.rb} +6 -5
  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 +3 -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 +30 -0
  38. data/lib/italian/ruby/{core_ext → alias}/string.rb +3 -69
  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 +37 -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/gems/bson.rb +0 -26
  68. data/lib/italian/ruby/core_ext/gems/fabrication.rb +0 -12
  69. data/lib/italian/ruby/core_ext/gems/hanami.rb +0 -92
  70. data/lib/italian/ruby/core_ext/gems/rack_test.rb +0 -15
  71. data/lib/italian/ruby/core_ext/json.rb +0 -11
  72. data/lib/italian/ruby/core_ext/kernel.rb +0 -111
  73. data/lib/italian/ruby/core_ext/module.rb +0 -32
  74. data/lib/italian/ruby/core_ext/numeric.rb +0 -6
  75. data/lib/italian/ruby/core_ext/object.rb +0 -83
  76. data/lib/italian/ruby/core_ext/time.rb +0 -69
  77. data/lib/italian/ruby/errore.rb +0 -52
  78. data/lib/italian/ruby/utils/debug.rb +0 -134
@@ -0,0 +1,106 @@
1
+ # frozen_string_literal: true
2
+
3
+ ##
4
+ # Parte di una linea che contiene codice da tradurre.
5
+ module Italian
6
+ module Ruby
7
+ class Traduttore
8
+ class Pezzo
9
+
10
+ attr_accessor :contenuto
11
+
12
+ def initialize(contenuto, da_non_tradurre = false)
13
+ @contenuto = contenuto
14
+ @da_non_tradurre = da_non_tradurre
15
+ end
16
+
17
+ def traduci
18
+ return @contenuto if @da_non_tradurre
19
+ return @contenuto if vuoto_o_nullo?
20
+ return @contenuto if è_un_commento?
21
+ return @contenuto if è_una_stringa?
22
+
23
+ traduci_in_ruby
24
+ end
25
+
26
+ private
27
+
28
+ ##
29
+ # Determina se il pezzo è vuoto o nullo.
30
+ def vuoto_o_nullo?
31
+ @contenuto.nil? or
32
+ @contenuto.strip == ""
33
+ end
34
+
35
+ ##
36
+ # Determina se il pezzo da tradurre rappresenta un commento.
37
+ def è_un_commento?
38
+ @contenuto.start_with? "#"
39
+ end
40
+
41
+ ##
42
+ # Determina se il pezzo da tradurre rappresenta una stringa.
43
+ def è_una_stringa?
44
+ @contenuto.start_with? "\"" or
45
+ @contenuto.start_with? "'" or
46
+ @contenuto.start_with? "%{"
47
+ end
48
+
49
+ ##
50
+ # Traduce in Ruby.
51
+ def traduci_in_ruby
52
+ contenuto_tradotto = @contenuto.clone
53
+
54
+ contenuto_tradotto.gsub! /(\b)e(\b)/, "\\1and\\2"
55
+ contenuto_tradotto.gsub! /(\b)inizia(\b)/, "\\1begin\\2"
56
+ contenuto_tradotto.gsub! /(\b)blocco_dato\?(\b)/, "\\1block_given?\\2"
57
+ contenuto_tradotto.gsub! /(\b)esci(\b)/, "\\1break\\2"
58
+ contenuto_tradotto.gsub! /(\b)considera(\b)/, "\\1case\\2"
59
+ contenuto_tradotto.gsub! /(\b)classe([\s]+[A-Z][\w]*)/, "\\1class\\2"
60
+ contenuto_tradotto.gsub! /(\b)classe([\s]+)(<<)([\s]+)/, "\\1class\\2\\3\\4"
61
+ contenuto_tradotto.gsub! /(\b)definisci([\s]+[^\s]+)/, "\\1def\\2"
62
+ contenuto_tradotto.gsub! /(\b)definito\?([\s]+[^\s]+)/, "\\1defined?\\2"
63
+ contenuto_tradotto.gsub! /(\b)definita\?([\s]+[^\s]+)/, "\\1defined?\\2"
64
+ contenuto_tradotto.gsub! /(\b)inizializzatore(\b)/, "\\1initialize\\2"
65
+ contenuto_tradotto.gsub! /(\b)esegui(\b)/, "\\1do\\2"
66
+ contenuto_tradotto.gsub! /(\b)altrimenti(\b)/, "\\1else\\2"
67
+ contenuto_tradotto.gsub! /(\b)altrimenti_se(\b)/, "\\1elsif\\2"
68
+ contenuto_tradotto.gsub! /(\b)fine(\b)/, "\\1end\\2"
69
+ contenuto_tradotto.gsub! /(\b)assicura(\b)/, "\\1ensure\\2"
70
+ contenuto_tradotto.gsub! /(\b)estendi([\s]+[A-Z][\w]*)/, "\\1extend\\2"
71
+ contenuto_tradotto.gsub! /(\b)no(\b)/, "\\1false\\2"
72
+ contenuto_tradotto.gsub! /(\b)falso(\b)/, "\\1false\\2"
73
+ contenuto_tradotto.gsub! /(\b)per(\b)/, "\\1for\\2"
74
+ contenuto_tradotto.gsub! /(\b)se(\b)/, "\\1if\\2"
75
+ contenuto_tradotto.gsub! /(\b)includi([\s]+[A-Z][\w]*)/, "\\1include\\2"
76
+ contenuto_tradotto.gsub! /(\b)modulo([\s]+[A-Z][\w]*)/, "\\1module\\2"
77
+ contenuto_tradotto.gsub! /(\b)prossimo(\b)/, "\\1next\\2"
78
+ contenuto_tradotto.gsub! /(\b)prossima(\b)/, "\\1next\\2"
79
+ contenuto_tradotto.gsub! /(\b)nullo(\b)/, "\\1nil\\2"
80
+ contenuto_tradotto.gsub! /(\b)nulla(\b)/, "\\1nil\\2"
81
+ contenuto_tradotto.gsub! /(\b)non(\b)/, "\\1not\\2"
82
+ contenuto_tradotto.gsub! /(\b)o(\b)/, "\\1or\\2"
83
+ contenuto_tradotto.gsub! /(\b)preponi([\s]+[A-Z][\w]*)/, "\\1prepend\\2"
84
+ contenuto_tradotto.gsub! /(\b)riesegui(\b)/, "\\1redo\\2"
85
+ contenuto_tradotto.gsub! /(\b)recupera(\b)/, "\\1rescue\\2"
86
+ contenuto_tradotto.gsub! /(\b)riprova(\b)/, "\\1retry\\2"
87
+ contenuto_tradotto.gsub! /(\b)ritorna(\b)/, "\\1return\\2"
88
+ contenuto_tradotto.gsub! /(\b)istanza/, "\\1self"
89
+ contenuto_tradotto.gsub! /(\b)se_stesso/, "\\1self"
90
+ contenuto_tradotto.gsub! /(\b)se_stessa/, "\\1self"
91
+ contenuto_tradotto.gsub! /(\b)allora(\b)/, "\\1then\\2"
92
+ contenuto_tradotto.gsub! /(\b)si(\b)/, "\\1true\\2"
93
+ contenuto_tradotto.gsub! /(\b)vero(\b)/, "\\1true\\2"
94
+ contenuto_tradotto.gsub! /(\b)a_meno_che(\b)/, "\\1unless\\2"
95
+ contenuto_tradotto.gsub! /(\b)finché(\b)/, "\\1until\\2"
96
+ contenuto_tradotto.gsub! /(\b)quando(\b)/, "\\1when\\2"
97
+ contenuto_tradotto.gsub! /(\b)mentre(\b)/, "\\1while\\2"
98
+ contenuto_tradotto.gsub! /(\b)rilascia(\b)/, "\\1yield\\2"
99
+
100
+ contenuto_tradotto
101
+ end
102
+
103
+ end
104
+ end
105
+ end
106
+ end
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+
3
+ ##
4
+ # Parte di una Linea che contiene una definizione di stringa.
5
+ #
6
+ # La stringa può essere di tipo:
7
+ # - :doppio_apice => stringa che inizia con ", interpolabile.
8
+ # - :singolo_aplice => stringa che inizia con ', non interpolabile.
9
+ # - :percentuale_graffa => stringa che iniza con %{, interpolabile.
10
+ module Italian
11
+ module Ruby
12
+ class Traduttore
13
+ class Stringa
14
+
15
+ attr_accessor :posizione_iniziale
16
+ attr_accessor :posizione_finale
17
+
18
+ def initialize(contenuto, posizione_iniziale)
19
+ @contenuto = contenuto
20
+ @posizione_iniziale = posizione_iniziale
21
+
22
+ determina_tipo
23
+ end
24
+
25
+ ##
26
+ # Ricerca la posizione del carattere di chiusura della stringa.
27
+ def ricerca_chiusura
28
+ case @tipo
29
+ when :doppio_apice
30
+ @posizione_finale = @contenuto.index /"/, @posizione_iniziale + 1
31
+ when :singolo_apice
32
+ @posizione_finale = @contenuto.index /'/, @posizione_iniziale + 1
33
+ when :percentuale_graffa
34
+ @posizione_finale = @contenuto.index /\}/, posizione_ultima_interpolazione
35
+ end
36
+
37
+ raise Italian::Ruby::Errori::StringaNonTerminata,
38
+ "la stringa iniziata alla posizione #{@posizione_iniziale} non è terminata" if
39
+ @posizione_finale.nil?
40
+ end
41
+
42
+ private
43
+
44
+ ##
45
+ # Determina il tipo della stringa.
46
+ def determina_tipo
47
+ carattere_stringa = @contenuto[@posizione_iniziale]
48
+
49
+ case carattere_stringa
50
+ when "\"" then @tipo = :doppio_apice
51
+ when "'" then @tipo = :singolo_apice
52
+ when "%" then @tipo = :percentuale_graffa
53
+ end
54
+ end
55
+
56
+ ##
57
+ # Determina la posizione dell'ultima interpolazione, se presente.
58
+ def posizione_ultima_interpolazione
59
+ posizione_finale = @posizione_iniziale + 2
60
+
61
+ inizio_prossima_interpolazione = @contenuto.index /#\{/, posizione_finale
62
+ while inizio_prossima_interpolazione != nil
63
+ fine_prossima_interpolazione = @contenuto.index /\}/, inizio_prossima_interpolazione
64
+ raise "l'interpolazione iniziata alla posizione #{inizio_prossima_interpolazione} non è terminata" if
65
+ fine_prossima_interpolazione.nil?
66
+ posizione_finale = fine_prossima_interpolazione + 1
67
+ inizio_prossima_interpolazione = @contenuto.index /#\{/, fine_prossima_interpolazione
68
+ end
69
+
70
+ posizione_finale
71
+ end
72
+
73
+ end
74
+ end
75
+ end
76
+ end
@@ -1,5 +1,5 @@
1
1
  module Italian
2
2
  module Ruby
3
- VERSION = "0.9.18"
3
+ VERSIONE = "1.0.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: 0.9.18
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Francesco Ballardin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-08 00:00:00.000000000 Z
11
+ date: 2020-10-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -67,50 +67,65 @@ files:
67
67
  - Gemfile
68
68
  - Gemfile.lock
69
69
  - README.md
70
- - Rakefile
71
70
  - bin/italian-rspec
72
71
  - bin/italian-ruby
72
+ - dev/vim/ftdetect/ir.vim
73
+ - dev/vim/syntax/ir.vim
74
+ - dev/vim/vimrc
75
+ - dev/vscode/italianruby.tmGrammar.json
73
76
  - italian-ruby.gemspec
74
77
  - lib/italian/ruby.rb
75
- - lib/italian/ruby/core_ext.rb
76
- - lib/italian/ruby/core_ext/array.rb
77
- - lib/italian/ruby/core_ext/class.rb
78
- - lib/italian/ruby/core_ext/date.rb
79
- - lib/italian/ruby/core_ext/enumerator.rb
80
- - lib/italian/ruby/core_ext/errors.rb
81
- - lib/italian/ruby/core_ext/false_class.rb
82
- - lib/italian/ruby/core_ext/file.rb
83
- - lib/italian/ruby/core_ext/float.rb
84
- - lib/italian/ruby/core_ext/gems/bson.rb
85
- - lib/italian/ruby/core_ext/gems/fabrication.rb
86
- - lib/italian/ruby/core_ext/gems/hanami.rb
87
- - lib/italian/ruby/core_ext/gems/rack_test.rb
88
- - lib/italian/ruby/core_ext/gems/rspec.rb
89
- - lib/italian/ruby/core_ext/hash.rb
90
- - lib/italian/ruby/core_ext/integer.rb
91
- - lib/italian/ruby/core_ext/json.rb
92
- - lib/italian/ruby/core_ext/kernel.rb
93
- - lib/italian/ruby/core_ext/main.rb
94
- - lib/italian/ruby/core_ext/module.rb
95
- - lib/italian/ruby/core_ext/nil_class.rb
96
- - lib/italian/ruby/core_ext/numeric.rb
97
- - lib/italian/ruby/core_ext/object.rb
98
- - lib/italian/ruby/core_ext/open_struct.rb
99
- - lib/italian/ruby/core_ext/proc.rb
100
- - lib/italian/ruby/core_ext/range.rb
101
- - lib/italian/ruby/core_ext/rational.rb
102
- - lib/italian/ruby/core_ext/string.rb
103
- - lib/italian/ruby/core_ext/symbol.rb
104
- - lib/italian/ruby/core_ext/time.rb
105
- - lib/italian/ruby/core_ext/true_class.rb
106
- - lib/italian/ruby/errore.rb
78
+ - lib/italian/ruby/alias.rb
79
+ - lib/italian/ruby/alias/array.rb
80
+ - lib/italian/ruby/alias/class.rb
81
+ - lib/italian/ruby/alias/date.rb
82
+ - lib/italian/ruby/alias/enumerator.rb
83
+ - lib/italian/ruby/alias/error.rb
84
+ - lib/italian/ruby/alias/false_class.rb
85
+ - lib/italian/ruby/alias/file.rb
86
+ - lib/italian/ruby/alias/float.rb
87
+ - lib/italian/ruby/alias/hash.rb
88
+ - lib/italian/ruby/alias/integer.rb
89
+ - lib/italian/ruby/alias/io.rb
90
+ - lib/italian/ruby/alias/kernel.rb
91
+ - lib/italian/ruby/alias/main.rb
92
+ - lib/italian/ruby/alias/module.rb
93
+ - lib/italian/ruby/alias/nil_class.rb
94
+ - lib/italian/ruby/alias/numeric.rb
95
+ - lib/italian/ruby/alias/object.rb
96
+ - lib/italian/ruby/alias/open_struct.rb
97
+ - lib/italian/ruby/alias/proc.rb
98
+ - lib/italian/ruby/alias/range.rb
99
+ - lib/italian/ruby/alias/rational.rb
100
+ - lib/italian/ruby/alias/rspec.rb
101
+ - lib/italian/ruby/alias/set.rb
102
+ - lib/italian/ruby/alias/socket.rb
103
+ - lib/italian/ruby/alias/string.rb
104
+ - lib/italian/ruby/alias/symbol.rb
105
+ - lib/italian/ruby/alias/time.rb
106
+ - lib/italian/ruby/alias/true_class.rb
107
+ - lib/italian/ruby/errori.rb
108
+ - lib/italian/ruby/metodi.rb
109
+ - lib/italian/ruby/metodi/array.rb
110
+ - lib/italian/ruby/metodi/date.rb
111
+ - lib/italian/ruby/metodi/hash.rb
112
+ - lib/italian/ruby/metodi/integer.rb
113
+ - lib/italian/ruby/metodi/json.rb
114
+ - lib/italian/ruby/metodi/kernel.rb
115
+ - lib/italian/ruby/metodi/main.rb
116
+ - lib/italian/ruby/metodi/module.rb
117
+ - lib/italian/ruby/metodi/nil_class.rb
118
+ - lib/italian/ruby/metodi/object.rb
119
+ - lib/italian/ruby/metodi/open_struct.rb
120
+ - lib/italian/ruby/metodi/range.rb
121
+ - lib/italian/ruby/metodi/rspec.rb
122
+ - lib/italian/ruby/metodi/string.rb
123
+ - lib/italian/ruby/metodi/time.rb
107
124
  - lib/italian/ruby/traduttore.rb
108
- - lib/italian/ruby/utils/debug.rb
109
- - lib/italian/ruby/version.rb
110
- - vim/ftdetect/ir.vim
111
- - vim/syntax/ir.vim
112
- - vim/vimrc
113
- - vscode/italianruby.tmGrammar.json
125
+ - lib/italian/ruby/traduttore/linea.rb
126
+ - lib/italian/ruby/traduttore/pezzo.rb
127
+ - lib/italian/ruby/traduttore/stringa.rb
128
+ - lib/italian/ruby/versione.rb
114
129
  homepage: https://github.com/Pluvie/italian-ruby
115
130
  licenses:
116
131
  - MIT
@@ -127,14 +142,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
127
142
  requirements:
128
143
  - - ">="
129
144
  - !ruby/object:Gem::Version
130
- version: 2.3.0
145
+ version: 2.7.0
131
146
  required_rubygems_version: !ruby/object:Gem::Requirement
132
147
  requirements:
133
148
  - - ">="
134
149
  - !ruby/object:Gem::Version
135
150
  version: '0'
136
151
  requirements: []
137
- rubygems_version: 3.1.2
152
+ rubygems_version: 3.1.4
138
153
  signing_key:
139
154
  specification_version: 4
140
155
  summary: Program in Ruby writing in Italian.
data/Rakefile DELETED
@@ -1,6 +0,0 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
3
-
4
- RSpec::Core::RakeTask.new(:spec)
5
-
6
- task :default => :spec
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- original_verbosity = $VERBOSE
4
- $VERBOSE = nil
5
-
6
- require_relative "core_ext/main"
7
- require_relative "core_ext/class"
8
- require_relative "core_ext/module"
9
- require_relative "core_ext/file"
10
- require_relative "core_ext/kernel"
11
- require_relative "core_ext/proc"
12
- require_relative "core_ext/errors"
13
- require_relative "core_ext/nil_class"
14
- require_relative "core_ext/false_class"
15
- require_relative "core_ext/true_class"
16
- require_relative "core_ext/json"
17
- require_relative "core_ext/open_struct"
18
- require_relative "core_ext/object"
19
- require_relative "core_ext/array"
20
- require_relative "core_ext/range"
21
- require_relative "core_ext/hash"
22
- require_relative "core_ext/string"
23
- require_relative "core_ext/symbol"
24
- require_relative "core_ext/numeric"
25
- require_relative "core_ext/integer"
26
- require_relative "core_ext/float"
27
- require_relative "core_ext/rational"
28
- require_relative "core_ext/enumerator"
29
- require_relative "core_ext/time"
30
- require_relative "core_ext/date"
31
-
32
- $VERBOSE = original_verbosity
@@ -1,26 +0,0 @@
1
- module BSON
2
- class ObjectId
3
- class << self
4
- alias :converti :from_string
5
- end
6
-
7
- alias :in_stringa :to_s
8
-
9
- def in_id
10
- self
11
- end
12
-
13
- def to_json(*args)
14
- "\"#{self.to_s}\""
15
- end
16
- end
17
- end
18
- IdOggetto = BSON::ObjectId
19
-
20
- class String
21
- def in_id
22
- BSON::ObjectId self
23
- rescue BSON::ObjectId::Invalid
24
- self
25
- end
26
- end
@@ -1,12 +0,0 @@
1
- ##
2
- # Core Ext - Fabrication
3
-
4
- class Fabricate
5
- class << self
6
- alias :produci :create
7
- alias :assembla :build
8
- alias :materie_prime :attributes_for
9
- end
10
- end
11
-
12
- Fabbrica = Fabricate
@@ -1,92 +0,0 @@
1
- ##
2
- # Core Ext - Hanami
3
-
4
- module Hanami
5
- ##
6
- # Interactor
7
- module Interactor
8
- alias :fallisci! :error!
9
- alias :errore! :error!
10
- alias :errore :error
11
-
12
- def termina!
13
- throw :stop
14
- end
15
-
16
- module LegacyInterface
17
- def chiama
18
- _call { super }
19
- end
20
-
21
- def _call
22
- catch :fail do
23
- catch :stop do
24
- validate!
25
- yield
26
- end
27
- end
28
-
29
- _prepare!
30
- end
31
- end
32
- module Interface
33
- def chiama(*args)
34
- @__result = ::Hanami::Interactor::Result.new
35
- _call(*args) { super }
36
- end
37
-
38
- def _call(*args)
39
- catch :fail do
40
- catch :stop do
41
- validate!(*args)
42
- yield
43
- end
44
- end
45
-
46
- _prepare!
47
- end
48
- end
49
-
50
- class Result
51
- alias :riuscito? :successful?
52
- alias :riuscita? :successful?
53
- alias :errore :error
54
-
55
- def fallito?
56
- !successful?
57
- end
58
- alias :fallita? :fallito?
59
- end
60
-
61
- Risultato = Result
62
- end
63
-
64
- Interattore = Interactor
65
-
66
- module ClassMethods
67
- alias :esponi :expose
68
-
69
- def method_added(method_name)
70
- super
71
- return unless method_name == :chiama
72
-
73
- if instance_method(:chiama).arity.zero?
74
- prepend Hanami::Interactor::LegacyInterface
75
- else
76
- prepend Hanami::Interactor::Interface
77
- end
78
- end
79
- end
80
-
81
- ##
82
- # Mongoid - Repository
83
- module Mongoid
84
- class Repository
85
-
86
- def tutti(*args, &block)
87
- all *args, &block
88
- end
89
-
90
- end
91
- end
92
- end