clean-architecture 2.0.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (118) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rspec.yml +21 -0
  3. data/.gitignore +1 -0
  4. data/.ruby-version +1 -1
  5. data/CHANGELOG.md +42 -0
  6. data/Gemfile +1 -0
  7. data/README.md +423 -4
  8. data/clean-architecture.gemspec +9 -5
  9. data/generate_require_files.rb +1 -0
  10. data/lib/clean-architecture.rb +1 -0
  11. data/lib/clean_architecture/adapters/all.rb +1 -0
  12. data/lib/clean_architecture/adapters/attribute_hash_base.rb +1 -0
  13. data/lib/clean_architecture/all.rb +3 -0
  14. data/lib/clean_architecture/builders/abstract_active_record_entity_builder.rb +124 -0
  15. data/lib/clean_architecture/builders/all.rb +6 -0
  16. data/lib/clean_architecture/checks/all.rb +1 -0
  17. data/lib/clean_architecture/checks/authorization.rb +1 -0
  18. data/lib/clean_architecture/entities/all.rb +1 -0
  19. data/lib/clean_architecture/entities/failure_details.rb +2 -1
  20. data/lib/clean_architecture/entities/targeted_parameters.rb +1 -0
  21. data/lib/clean_architecture/entities/untargeted_parameters.rb +1 -0
  22. data/lib/clean_architecture/interfaces/all.rb +1 -0
  23. data/lib/clean_architecture/interfaces/authorization_parameters.rb +1 -0
  24. data/lib/clean_architecture/interfaces/base_parameters.rb +1 -0
  25. data/lib/clean_architecture/interfaces/jsonable.rb +1 -0
  26. data/lib/clean_architecture/interfaces/success_payload.rb +1 -0
  27. data/lib/clean_architecture/interfaces/targeted_parameters.rb +1 -0
  28. data/lib/clean_architecture/interfaces/use_case.rb +1 -0
  29. data/lib/clean_architecture/interfaces/use_case_actor.rb +1 -0
  30. data/lib/clean_architecture/interfaces/use_case_target.rb +1 -0
  31. data/lib/clean_architecture/matchers/all.rb +1 -0
  32. data/lib/clean_architecture/matchers/use_case_result.rb +1 -0
  33. data/lib/clean_architecture/queries/all.rb +1 -0
  34. data/lib/clean_architecture/queries/http_failure_code.rb +1 -0
  35. data/lib/clean_architecture/queries/http_success_code.rb +1 -0
  36. data/lib/clean_architecture/serializers/all.rb +1 -0
  37. data/lib/clean_architecture/serializers/html_response_from_result.rb +1 -0
  38. data/lib/clean_architecture/serializers/json_response_from_result.rb +1 -0
  39. data/lib/clean_architecture/serializers/success_collection_payload.rb +1 -0
  40. data/lib/clean_architecture/serializers/success_payload.rb +1 -0
  41. data/lib/clean_architecture/types.rb +2 -1
  42. data/lib/clean_architecture/use_cases/abstract_use_case.rb +62 -0
  43. data/lib/clean_architecture/use_cases/all.rb +10 -0
  44. data/lib/clean_architecture/use_cases/contract.rb +9 -0
  45. data/lib/clean_architecture/use_cases/errors.rb +57 -0
  46. data/lib/clean_architecture/use_cases/form.rb +116 -0
  47. data/lib/clean_architecture/use_cases/parameters.rb +42 -0
  48. data/lib/clean_architecture/version.rb +2 -1
  49. data/sorbet/config +2 -0
  50. data/sorbet/rbi/gems/activemodel.rbi +74 -0
  51. data/sorbet/rbi/gems/activesupport.rbi +440 -0
  52. data/sorbet/rbi/gems/ast.rbi +47 -0
  53. data/sorbet/rbi/gems/axiom-types.rbi +159 -0
  54. data/sorbet/rbi/gems/byebug.rbi +1039 -0
  55. data/sorbet/rbi/gems/codeclimate-engine-rb.rbi +123 -0
  56. data/sorbet/rbi/gems/coderay.rbi +91 -0
  57. data/sorbet/rbi/gems/coercible.rbi +156 -0
  58. data/sorbet/rbi/gems/concurrent-ruby.rbi +1587 -0
  59. data/sorbet/rbi/gems/descendants_tracker.rbi +17 -0
  60. data/sorbet/rbi/gems/docile.rbi +31 -0
  61. data/sorbet/rbi/gems/dry-configurable.rbi +89 -0
  62. data/sorbet/rbi/gems/dry-container.rbi +88 -0
  63. data/sorbet/rbi/gems/dry-core.rbi +79 -0
  64. data/sorbet/rbi/gems/dry-equalizer.rbi +25 -0
  65. data/sorbet/rbi/gems/dry-inflector.rbi +72 -0
  66. data/sorbet/rbi/gems/dry-initializer.rbi +209 -0
  67. data/sorbet/rbi/gems/dry-logic.rbi +304 -0
  68. data/sorbet/rbi/gems/dry-matcher.rbi +33 -0
  69. data/sorbet/rbi/gems/dry-monads.rbi +508 -0
  70. data/sorbet/rbi/gems/dry-schema.rbi +790 -0
  71. data/sorbet/rbi/gems/dry-struct.rbi +165 -0
  72. data/sorbet/rbi/gems/dry-types.rbi +688 -0
  73. data/sorbet/rbi/gems/dry-validation.rbi +284 -0
  74. data/sorbet/rbi/gems/duckface-interfaces.rbi +93 -0
  75. data/sorbet/rbi/gems/equalizer.rbi +22 -0
  76. data/sorbet/rbi/gems/i18n.rbi +132 -0
  77. data/sorbet/rbi/gems/ice_nine.rbi +66 -0
  78. data/sorbet/rbi/gems/jaro_winkler.rbi +14 -0
  79. data/sorbet/rbi/gems/kwalify.rbi +339 -0
  80. data/sorbet/rbi/gems/method_source.rbi +63 -0
  81. data/sorbet/rbi/gems/parallel.rbi +81 -0
  82. data/sorbet/rbi/gems/parser.rbi +1293 -0
  83. data/sorbet/rbi/gems/pry-byebug.rbi +149 -0
  84. data/sorbet/rbi/gems/pry.rbi +1964 -0
  85. data/sorbet/rbi/gems/psych.rbi +462 -0
  86. data/sorbet/rbi/gems/rainbow.rbi +117 -0
  87. data/sorbet/rbi/gems/rake.rbi +634 -0
  88. data/sorbet/rbi/gems/rb-readline.rbi +766 -0
  89. data/sorbet/rbi/gems/reek.rbi +1066 -0
  90. data/sorbet/rbi/gems/rspec-core.rbi +1658 -0
  91. data/sorbet/rbi/gems/rspec-expectations.rbi +430 -0
  92. data/sorbet/rbi/gems/rspec-mocks.rbi +815 -0
  93. data/sorbet/rbi/gems/rspec-support.rbi +268 -0
  94. data/sorbet/rbi/gems/rspec.rbi +14 -0
  95. data/sorbet/rbi/gems/rubocop-rspec.rbi +875 -0
  96. data/sorbet/rbi/gems/rubocop.rbi +7014 -0
  97. data/sorbet/rbi/gems/ruby-progressbar.rbi +304 -0
  98. data/sorbet/rbi/gems/simplecov-html.rbi +30 -0
  99. data/sorbet/rbi/gems/simplecov.rbi +225 -0
  100. data/sorbet/rbi/gems/stackprof.rbi +51 -0
  101. data/sorbet/rbi/gems/thread_safe.rbi +81 -0
  102. data/sorbet/rbi/gems/timecop.rbi +97 -0
  103. data/sorbet/rbi/gems/unicode-display_width.rbi +16 -0
  104. data/sorbet/rbi/gems/virtus.rbi +421 -0
  105. data/sorbet/rbi/hidden-definitions/errors.txt +7332 -0
  106. data/sorbet/rbi/hidden-definitions/hidden.rbi +17521 -0
  107. data/sorbet/rbi/sorbet-typed/lib/activemodel/all/activemodel.rbi +422 -0
  108. data/sorbet/rbi/sorbet-typed/lib/activesupport/>=6.0.0.rc1/activesupport.rbi +23 -0
  109. data/sorbet/rbi/sorbet-typed/lib/activesupport/all/activesupport.rbi +625 -0
  110. data/sorbet/rbi/sorbet-typed/lib/bundler/all/bundler.rbi +8684 -0
  111. data/sorbet/rbi/sorbet-typed/lib/minitest/all/minitest.rbi +99 -0
  112. data/sorbet/rbi/sorbet-typed/lib/rainbow/all/rainbow.rbi +254 -0
  113. data/sorbet/rbi/sorbet-typed/lib/ruby/all/gem.rbi +4222 -0
  114. data/sorbet/rbi/sorbet-typed/lib/ruby/all/open3.rbi +111 -0
  115. data/sorbet/rbi/sorbet-typed/lib/ruby/all/resolv.rbi +543 -0
  116. data/sorbet/rbi/todo.rbi +12 -0
  117. metadata +156 -24
  118. data/Gemfile.lock +0 -187
@@ -0,0 +1,284 @@
1
+ # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
+ # srb rbi gems
3
+
4
+ # typed: true
5
+ #
6
+ # If you would like to make changes to this file, great! Please create the gem's shim here:
7
+ #
8
+ # https://github.com/sorbet/sorbet-typed/new/master?filename=lib/dry-validation/all/dry-validation.rbi
9
+ #
10
+ # dry-validation-1.3.1
11
+ module Dry
12
+ end
13
+ module Dry::Validation
14
+ def self.Contract(options = nil, &block); end
15
+ def self.macros; end
16
+ extend Dry::Core::Extensions
17
+ extend Dry::Validation::Macros::Registrar
18
+ include Dry::Core::Constants
19
+ end
20
+ class Dry::Validation::InvalidKeysError < StandardError
21
+ end
22
+ class Dry::Validation::MissingMessageError < StandardError
23
+ end
24
+ class Dry::Validation::DuplicateSchemaError < StandardError
25
+ end
26
+ class Dry::Validation::SchemaMissingError < StandardError
27
+ def initialize(klass); end
28
+ end
29
+ class Dry::Validation::Function
30
+ def map_keywords(block); end
31
+ extend Dry::Initializer
32
+ include Anonymous_Module_52
33
+ include Dry::Initializer::Mixin::Root
34
+ end
35
+ module Anonymous_Module_52
36
+ def __dry_initializer_config__; end
37
+ def __dry_initializer_initialize__(*arg0, **__dry_initializer_options__); end
38
+ def block; end
39
+ def block_options; end
40
+ extend Dry::Initializer::Mixin::Local
41
+ end
42
+ module Anonymous_Module_53
43
+ def __dry_initializer_config__; end
44
+ def __dry_initializer_initialize__(name, *arg1, **__dry_initializer_options__); end
45
+ def args; end
46
+ def block; end
47
+ def name; end
48
+ extend Dry::Initializer::Mixin::Local
49
+ end
50
+ class Dry::Validation::Macro < Dry::Validation::Function
51
+ def extract_block_options(options); end
52
+ def with(args); end
53
+ include Anonymous_Module_53
54
+ end
55
+ module Dry::Validation::Macros
56
+ def self.[](name); end
57
+ def self.container; end
58
+ def self.register(name, *args, &block); end
59
+ end
60
+ module Dry::Validation::Macros::Registrar
61
+ def register_macro(name, *args, &block); end
62
+ end
63
+ class Dry::Validation::Macros::Container
64
+ def config; end
65
+ def register(name, *args, &block); end
66
+ extend Dry::Configurable
67
+ extend Dry::Configurable::ClassMethods
68
+ include Dry::Container::Mixin
69
+ end
70
+ class Dry::Validation::Config < Dry::Schema::Config
71
+ def dup; end
72
+ end
73
+ module Anonymous_Module_54
74
+ def __dry_initializer_config__; end
75
+ def __dry_initializer_initialize__(*arg0, **__dry_initializer_options__); end
76
+ def keys; end
77
+ def macros; end
78
+ extend Dry::Initializer::Mixin::Local
79
+ end
80
+ class Dry::Validation::Rule < Dry::Validation::Function
81
+ def call(contract, result); end
82
+ def each(*macros, &block); end
83
+ def inspect; end
84
+ def parse_macros(*args); end
85
+ def validate(*macros, &block); end
86
+ include Anonymous_Dry_Equalizer_55
87
+ include Anonymous_Module_54
88
+ include Dry::Equalizer::Methods
89
+ end
90
+ module Anonymous_Dry_Equalizer_55
91
+ def cmp?(comparator, other); end
92
+ def hash; end
93
+ end
94
+ class Dry::Validation::Failures
95
+ def failure(message, tokens = nil); end
96
+ def initialize(path = nil); end
97
+ def opts; end
98
+ def path; end
99
+ end
100
+ class Dry::Validation::Evaluator
101
+ def _options; end
102
+ def base; end
103
+ def error?(path); end
104
+ def failures; end
105
+ def initialize(contract, options, &block); end
106
+ def key(path = nil); end
107
+ def key?; end
108
+ def key_name; end
109
+ def method_missing(meth, *args, &block); end
110
+ def respond_to_missing?(meth, include_private = nil); end
111
+ def value; end
112
+ def with(new_opts, &block); end
113
+ extend Dry::Initializer
114
+ include Anonymous_Module_56
115
+ include Dry::Initializer::Mixin::Root
116
+ end
117
+ module Anonymous_Module_56
118
+ def __dry_initializer_config__; end
119
+ def __dry_initializer_initialize__(_contract, *arg1, **__dry_initializer_options__); end
120
+ def _context; end
121
+ def _contract; end
122
+ def block_options; end
123
+ def keys; end
124
+ def macros; end
125
+ def path; end
126
+ def result; end
127
+ def values; end
128
+ extend Dry::Initializer::Mixin::Local
129
+ end
130
+ module Anonymous_Module_57
131
+ def __dry_initializer_config__; end
132
+ def __dry_initializer_initialize__(*arg0, **__dry_initializer_options__); end
133
+ extend Dry::Initializer::Mixin::Local
134
+ end
135
+ class Dry::Validation::Message < Dry::Schema::Message
136
+ def base?; end
137
+ def initialize(text, path:, meta: nil); end
138
+ def meta; end
139
+ def path; end
140
+ def self.[](text, path, meta); end
141
+ def text; end
142
+ def to_s; end
143
+ include Anonymous_Dry_Equalizer_58
144
+ include Anonymous_Module_57
145
+ include Dry::Equalizer::Methods
146
+ end
147
+ module Anonymous_Dry_Equalizer_58
148
+ def cmp?(comparator, other); end
149
+ def hash; end
150
+ def inspect; end
151
+ end
152
+ module Anonymous_Module_59
153
+ def __dry_initializer_config__; end
154
+ def __dry_initializer_initialize__(*arg0, **__dry_initializer_options__); end
155
+ extend Dry::Initializer::Mixin::Local
156
+ end
157
+ class Dry::Validation::Message::Localized < Dry::Validation::Message
158
+ def evaluate(**opts); end
159
+ include Anonymous_Module_59
160
+ end
161
+ module Dry::Validation::Messages
162
+ end
163
+ class Dry::Validation::Messages::Resolver
164
+ def [](message:, tokens:, path:, meta: nil); end
165
+ def call(message:, tokens:, path:, meta: nil); end
166
+ def initialize(messages); end
167
+ def message(rule, path:, tokens: nil, locale: nil, full: nil); end
168
+ def messages; end
169
+ end
170
+ class Dry::Validation::MessageSet < Dry::Schema::MessageSet
171
+ def add(message); end
172
+ def filter(*predicates); end
173
+ def freeze; end
174
+ def initialize(messages, options = nil); end
175
+ def initialize_placeholders!; end
176
+ def locale; end
177
+ def messages_map; end
178
+ def source_messages; end
179
+ def unique_paths; end
180
+ def with(other, new_options = nil); end
181
+ end
182
+ class Dry::Validation::Values
183
+ def [](*args); end
184
+ def data; end
185
+ def initialize(data); end
186
+ def key?(key, hash = nil); end
187
+ def method_missing(meth, *args, &block); end
188
+ def respond_to_missing?(meth, include_private = nil); end
189
+ include Anonymous_Dry_Equalizer_60
190
+ include Dry::Equalizer::Methods
191
+ include Enumerable
192
+ end
193
+ module Anonymous_Dry_Equalizer_60
194
+ def cmp?(comparator, other); end
195
+ def hash; end
196
+ def inspect; end
197
+ end
198
+ class Dry::Validation::Result
199
+ def [](key); end
200
+ def add_error(error); end
201
+ def base_error?(key); end
202
+ def context; end
203
+ def error?(key); end
204
+ def errors(new_options = nil); end
205
+ def failure?; end
206
+ def freeze; end
207
+ def initialize(schema_result, context, options); end
208
+ def initialize_errors(options = nil); end
209
+ def inspect; end
210
+ def key?(key); end
211
+ def options; end
212
+ def schema_errors(options); end
213
+ def schema_result; end
214
+ def self.new(schema_result, context = nil, options = nil); end
215
+ def success?; end
216
+ def to_h; end
217
+ def values; end
218
+ include Anonymous_Dry_Equalizer_61
219
+ include Dry::Equalizer::Methods
220
+ end
221
+ module Anonymous_Dry_Equalizer_61
222
+ def cmp?(comparator, other); end
223
+ def hash; end
224
+ end
225
+ module Dry::Schema
226
+ end
227
+ class Dry::Schema::Path
228
+ def expand; end
229
+ def multi_value?; end
230
+ end
231
+ class Dry::Schema::Key
232
+ def to_dot_notation; end
233
+ end
234
+ class Dry::Schema::Key::Hash < Dry::Schema::Key
235
+ def to_dot_notation; end
236
+ end
237
+ class Dry::Schema::KeyMap
238
+ def to_dot_notation; end
239
+ end
240
+ class Dry::Validation::Contract
241
+ def call(input); end
242
+ def error?(result, spec); end
243
+ def inspect; end
244
+ def macro(name, *args); end
245
+ def messages; end
246
+ extend Dry::Initializer
247
+ extend Dry::Validation::Contract::ClassInterface
248
+ include Anonymous_Dry_Equalizer_62
249
+ include Anonymous_Module_63
250
+ include Dry::Equalizer::Methods
251
+ include Dry::Initializer::Mixin::Root
252
+ end
253
+ module Dry::Validation::Contract::ClassInterface
254
+ def __schema__; end
255
+ def build(options = nil, &block); end
256
+ def config; end
257
+ def core_schema_opts; end
258
+ def define(method_name, external_schema, &block); end
259
+ def ensure_valid_keys(*keys); end
260
+ def inherited(klass); end
261
+ def json(external_schema = nil, &block); end
262
+ def key_map; end
263
+ def macros; end
264
+ def messages; end
265
+ def params(external_schema = nil, &block); end
266
+ def rule(*keys, &block); end
267
+ def rules; end
268
+ def schema(external_schema = nil, &block); end
269
+ include Dry::Validation::Macros::Registrar
270
+ end
271
+ module Anonymous_Dry_Equalizer_62
272
+ def cmp?(comparator, other); end
273
+ def hash; end
274
+ end
275
+ module Anonymous_Module_63
276
+ def __dry_initializer_config__; end
277
+ def __dry_initializer_initialize__(*arg0, **__dry_initializer_options__); end
278
+ def config; end
279
+ def macros; end
280
+ def message_resolver; end
281
+ def rules; end
282
+ def schema; end
283
+ extend Dry::Initializer::Mixin::Local
284
+ end
@@ -0,0 +1,93 @@
1
+ # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
+ # srb rbi gems
3
+
4
+ # typed: strong
5
+ #
6
+ # If you would like to make changes to this file, great! Please create the gem's shim here:
7
+ #
8
+ # https://github.com/sorbet/sorbet-typed/new/master?filename=lib/duckface-interfaces/all/duckface-interfaces.rbi
9
+ #
10
+ # duckface-interfaces-0.0.5
11
+ module Duckface
12
+ end
13
+ module Duckface::Constants
14
+ end
15
+ class Duckface::ParameterPair
16
+ def argument_name_string; end
17
+ def argument_name_without_leading_underscore; end
18
+ def for_comparison; end
19
+ def initialize(parameter_pair); end
20
+ end
21
+ class Duckface::ParameterPairs
22
+ def for_comparison; end
23
+ def initialize(parameters); end
24
+ def parameter_pairs; end
25
+ end
26
+ class Duckface::MethodImplementation
27
+ def implementation; end
28
+ def initialize(klass, method_name); end
29
+ def owner; end
30
+ def parameters; end
31
+ def parameters_for_comparison; end
32
+ def present_in_schema?; end
33
+ def schema?; end
34
+ end
35
+ class Duckface::CheckSession
36
+ def correctly; end
37
+ def initialize; end
38
+ def methods_not_implemented; end
39
+ def methods_with_incorrect_signatures; end
40
+ def notice_method_with_incorrect_signature(method_name); end
41
+ def notice_not_implemented_method(method_name); end
42
+ def null?; end
43
+ def successful?; end
44
+ end
45
+ module Duckface::Services
46
+ end
47
+ class Duckface::Services::CheckClassImplementsInterface
48
+ def check_method_has_correct_signature(method_name); end
49
+ def check_method_is_implemented(method_name); end
50
+ def initialize(implementation_class, interface_class); end
51
+ def interface_implementation(method_name); end
52
+ def method_has_correct_signature?(method_name); end
53
+ def method_implementation(method_name); end
54
+ def method_implemented?(method_name); end
55
+ def methods_that_should_be_implemented; end
56
+ def notice_method_with_incorrect_signature(*args, &block); end
57
+ def notice_not_implemented_method(*args, &block); end
58
+ def perform; end
59
+ extend Forwardable
60
+ end
61
+ module Duckface::ImplementationMethods
62
+ def check_it_implements(interface_class); end
63
+ def says_it_implements?(interface_class); end
64
+ end
65
+ class Duckface::NullCheckSession
66
+ def correctly; end
67
+ def methods_not_implemented; end
68
+ def methods_with_incorrect_signatures; end
69
+ def null?; end
70
+ def successful?; end
71
+ end
72
+ module Duckface::ObjectSugar
73
+ def check_it_implements(_interface_class); end
74
+ def implements_interface(interface_class); end
75
+ def says_it_implements?(_interface_class); end
76
+ end
77
+ class Class < Module
78
+ include Duckface::ObjectSugar
79
+ end
80
+ module Duckface::ActsAsInterface
81
+ def exclude_methods_from_interface_enforcement(*method_names); end
82
+ def methods_that_should_be_implemented; end
83
+ end
84
+ module Duckface::RSpec
85
+ end
86
+ class Duckface::RSpec::CheckSessionFailureFormatter
87
+ def formatted_lines; end
88
+ def incorrect_signature_lines; end
89
+ def initialize(check_session); end
90
+ def lines; end
91
+ def message; end
92
+ def not_implemented_lines; end
93
+ end
@@ -0,0 +1,22 @@
1
+ # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
+ # srb rbi gems
3
+
4
+ # typed: strong
5
+ #
6
+ # If you would like to make changes to this file, great! Please create the gem's shim here:
7
+ #
8
+ # https://github.com/sorbet/sorbet-typed/new/master?filename=lib/equalizer/all/equalizer.rbi
9
+ #
10
+ # equalizer-0.0.11
11
+ class Equalizer < Module
12
+ def define_cmp_method; end
13
+ def define_hash_method; end
14
+ def define_inspect_method; end
15
+ def define_methods; end
16
+ def included(descendant); end
17
+ def initialize(*keys); end
18
+ end
19
+ module Equalizer::Methods
20
+ def ==(other); end
21
+ def eql?(other); end
22
+ end
@@ -0,0 +1,132 @@
1
+ # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
+ # srb rbi gems
3
+
4
+ # typed: strong
5
+ #
6
+ # If you would like to make changes to this file, great! Please create the gem's shim here:
7
+ #
8
+ # https://github.com/sorbet/sorbet-typed/new/master?filename=lib/i18n/all/i18n.rbi
9
+ #
10
+ # i18n-1.7.0
11
+ module I18n
12
+ def self.interpolate(string, values); end
13
+ def self.interpolate_hash(string, values); end
14
+ def self.new_double_nested_cache; end
15
+ extend I18n::Base
16
+ end
17
+ class I18n::ExceptionHandler
18
+ def call(exception, _locale, _key, _options); end
19
+ end
20
+ class I18n::ArgumentError < ArgumentError
21
+ end
22
+ class I18n::Disabled < I18n::ArgumentError
23
+ def initialize(method); end
24
+ end
25
+ class I18n::InvalidLocale < I18n::ArgumentError
26
+ def initialize(locale); end
27
+ def locale; end
28
+ end
29
+ class I18n::InvalidLocaleData < I18n::ArgumentError
30
+ def filename; end
31
+ def initialize(filename, exception_message); end
32
+ end
33
+ class I18n::MissingTranslation < I18n::ArgumentError
34
+ include I18n::MissingTranslation::Base
35
+ end
36
+ module I18n::MissingTranslation::Base
37
+ def initialize(locale, key, options = nil); end
38
+ def key; end
39
+ def keys; end
40
+ def locale; end
41
+ def message; end
42
+ def options; end
43
+ def to_exception; end
44
+ def to_s; end
45
+ end
46
+ class I18n::MissingTranslationData < I18n::ArgumentError
47
+ include I18n::MissingTranslation::Base
48
+ end
49
+ class I18n::InvalidPluralizationData < I18n::ArgumentError
50
+ def count; end
51
+ def entry; end
52
+ def initialize(entry, count, key); end
53
+ def key; end
54
+ end
55
+ class I18n::MissingInterpolationArgument < I18n::ArgumentError
56
+ def initialize(key, values, string); end
57
+ def key; end
58
+ def string; end
59
+ def values; end
60
+ end
61
+ class I18n::ReservedInterpolationKey < I18n::ArgumentError
62
+ def initialize(key, string); end
63
+ def key; end
64
+ def string; end
65
+ end
66
+ class I18n::UnknownFileType < I18n::ArgumentError
67
+ def filename; end
68
+ def initialize(type, filename); end
69
+ def type; end
70
+ end
71
+ module I18n::Base
72
+ def available_locales; end
73
+ def available_locales=(value); end
74
+ def available_locales_initialized?; end
75
+ def backend; end
76
+ def backend=(value); end
77
+ def config; end
78
+ def config=(value); end
79
+ def default_locale; end
80
+ def default_locale=(value); end
81
+ def default_separator; end
82
+ def default_separator=(value); end
83
+ def eager_load!; end
84
+ def enforce_available_locales!(locale); end
85
+ def enforce_available_locales; end
86
+ def enforce_available_locales=(value); end
87
+ def exception_handler; end
88
+ def exception_handler=(value); end
89
+ def exists?(key, _locale = nil, locale: nil); end
90
+ def handle_exception(handling, exception, locale, key, options); end
91
+ def l(object, locale: nil, format: nil, **options); end
92
+ def load_path; end
93
+ def load_path=(value); end
94
+ def locale; end
95
+ def locale=(value); end
96
+ def locale_available?(locale); end
97
+ def localize(object, locale: nil, format: nil, **options); end
98
+ def normalize_key(key, separator); end
99
+ def normalize_keys(locale, key, scope, separator = nil); end
100
+ def reload!; end
101
+ def t!(key, options = nil); end
102
+ def t(key = nil, *arg1, throw: nil, raise: nil, locale: nil, **options); end
103
+ def translate!(key, options = nil); end
104
+ def translate(key = nil, *arg1, throw: nil, raise: nil, locale: nil, **options); end
105
+ def transliterate(key, *arg1, throw: nil, raise: nil, locale: nil, replacement: nil, **options); end
106
+ def with_locale(tmp_locale = nil); end
107
+ end
108
+ class I18n::Config
109
+ def available_locales; end
110
+ def available_locales=(locales); end
111
+ def available_locales_initialized?; end
112
+ def available_locales_set; end
113
+ def backend; end
114
+ def backend=(backend); end
115
+ def clear_available_locales_set; end
116
+ def default_locale; end
117
+ def default_locale=(locale); end
118
+ def default_separator; end
119
+ def default_separator=(separator); end
120
+ def enforce_available_locales; end
121
+ def enforce_available_locales=(enforce_available_locales); end
122
+ def exception_handler; end
123
+ def exception_handler=(exception_handler); end
124
+ def interpolation_patterns; end
125
+ def interpolation_patterns=(interpolation_patterns); end
126
+ def load_path; end
127
+ def load_path=(load_path); end
128
+ def locale; end
129
+ def locale=(locale); end
130
+ def missing_interpolation_argument_handler; end
131
+ def missing_interpolation_argument_handler=(exception_handler); end
132
+ end