packwerk 2.1.1 → 2.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (189) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +29 -20
  3. data/.github/workflows/cla.yml +22 -0
  4. data/.rubocop.yml +48 -19
  5. data/Gemfile +7 -2
  6. data/Gemfile.lock +204 -177
  7. data/README.md +7 -2
  8. data/RESOLVING_VIOLATIONS.md +81 -0
  9. data/Rakefile +1 -1
  10. data/USAGE.md +14 -5
  11. data/bin/m +1 -1
  12. data/bin/rake +1 -1
  13. data/bin/rubocop +1 -1
  14. data/bin/srb +1 -1
  15. data/bin/tapioca +1 -1
  16. data/gemfiles/Gemfile-rails-6-0 +1 -1
  17. data/gemfiles/Gemfile-rails-6-1 +22 -0
  18. data/lib/packwerk/application_load_paths.rb +12 -18
  19. data/lib/packwerk/application_validator.rb +7 -6
  20. data/lib/packwerk/association_inspector.rb +17 -15
  21. data/lib/packwerk/cache.rb +36 -29
  22. data/lib/packwerk/cli.rb +14 -8
  23. data/lib/packwerk/const_node_inspector.rb +8 -7
  24. data/lib/packwerk/constant_name_inspector.rb +2 -2
  25. data/lib/packwerk/deprecated_references.rb +34 -19
  26. data/lib/packwerk/file_processor.rb +25 -23
  27. data/lib/packwerk/files_for_processing.rb +33 -35
  28. data/lib/packwerk/formatters/offenses_formatter.rb +3 -3
  29. data/lib/packwerk/formatters/progress_formatter.rb +2 -2
  30. data/lib/packwerk/node.rb +1 -294
  31. data/lib/packwerk/node_helpers.rb +335 -0
  32. data/lib/packwerk/node_processor.rb +6 -5
  33. data/lib/packwerk/node_processor_factory.rb +3 -3
  34. data/lib/packwerk/node_visitor.rb +1 -1
  35. data/lib/packwerk/offense_collection.rb +6 -3
  36. data/lib/packwerk/offenses_formatter.rb +2 -2
  37. data/lib/packwerk/package.rb +3 -0
  38. data/lib/packwerk/package_set.rb +3 -1
  39. data/lib/packwerk/parse_run.rb +15 -13
  40. data/lib/packwerk/parsed_constant_definitions.rb +23 -20
  41. data/lib/packwerk/parsers/erb.rb +3 -3
  42. data/lib/packwerk/parsers/parser_interface.rb +2 -0
  43. data/lib/packwerk/reference_checking/checkers/checker.rb +16 -3
  44. data/lib/packwerk/reference_checking/checkers/dependency_checker.rb +16 -0
  45. data/lib/packwerk/reference_checking/checkers/privacy_checker.rb +18 -0
  46. data/lib/packwerk/reference_checking/reference_checker.rb +4 -4
  47. data/lib/packwerk/reference_extractor.rb +51 -54
  48. data/lib/packwerk/reference_offense.rb +3 -27
  49. data/lib/packwerk/run_context.rb +9 -7
  50. data/lib/packwerk/spring_command.rb +1 -1
  51. data/lib/packwerk/version.rb +1 -1
  52. data/lib/packwerk.rb +1 -0
  53. data/packwerk.gemspec +4 -11
  54. data/sorbet/rbi/gems/actioncable@7.0.3.1.rbi +2754 -0
  55. data/sorbet/rbi/gems/actionmailbox@7.0.3.1.rbi +1496 -0
  56. data/sorbet/rbi/gems/actionmailer@7.0.3.1.rbi +2362 -0
  57. data/sorbet/rbi/gems/actionpack@7.0.3.1.rbi +19397 -0
  58. data/sorbet/rbi/gems/actiontext@7.0.3.1.rbi +1569 -0
  59. data/sorbet/rbi/gems/actionview@7.0.3.1.rbi +14907 -0
  60. data/sorbet/rbi/gems/activejob@7.0.3.1.rbi +2553 -0
  61. data/sorbet/rbi/gems/activemodel@7.0.3.1.rbi +5999 -0
  62. data/sorbet/rbi/gems/activerecord@7.0.3.1.rbi +37832 -0
  63. data/sorbet/rbi/gems/activestorage@7.0.3.1.rbi +2321 -0
  64. data/sorbet/rbi/gems/activesupport@7.0.3.1.rbi +18818 -0
  65. data/sorbet/rbi/gems/concurrent-ruby@1.1.10.rbi +11722 -0
  66. data/sorbet/rbi/gems/constant_resolver@0.2.0.rbi +90 -0
  67. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +1079 -0
  68. data/sorbet/rbi/gems/digest@3.1.0.rbi +189 -0
  69. data/sorbet/rbi/gems/erubi@1.11.0.rbi +140 -0
  70. data/sorbet/rbi/gems/globalid@1.0.0.rbi +572 -0
  71. data/sorbet/rbi/gems/i18n@1.12.0.rbi +2296 -0
  72. data/sorbet/rbi/gems/json@2.6.2.rbi +1548 -0
  73. data/sorbet/rbi/gems/language_server-protocol@3.16.0.3.rbi +8 -0
  74. data/sorbet/rbi/gems/loofah@2.18.0.rbi +877 -0
  75. data/sorbet/rbi/gems/m@1.6.0.rbi +257 -0
  76. data/sorbet/rbi/gems/marcel@1.0.2.rbi +220 -0
  77. data/sorbet/rbi/gems/mini_mime@1.1.2.rbi +170 -0
  78. data/sorbet/rbi/gems/mini_portile2@2.8.0.rbi +8 -0
  79. data/sorbet/rbi/gems/minitest-focus@1.3.1.rbi +104 -0
  80. data/sorbet/rbi/gems/minitest@5.16.2.rbi +2136 -0
  81. data/sorbet/rbi/gems/mocha@1.14.0.rbi +4177 -0
  82. data/sorbet/rbi/gems/net-imap@0.2.3.rbi +2147 -0
  83. data/sorbet/rbi/gems/net-pop@0.1.1.rbi +926 -0
  84. data/sorbet/rbi/gems/net-protocol@0.1.3.rbi +11 -0
  85. data/sorbet/rbi/gems/net-smtp@0.3.1.rbi +1108 -0
  86. data/sorbet/rbi/gems/netrc@0.11.0.rbi +153 -0
  87. data/sorbet/rbi/gems/nio4r@2.5.8.rbi +292 -0
  88. data/sorbet/rbi/gems/nokogiri@1.13.8.rbi +6478 -0
  89. data/sorbet/rbi/gems/parallel@1.22.1.rbi +277 -0
  90. data/sorbet/rbi/gems/parser@3.1.2.1.rbi +9029 -0
  91. data/sorbet/rbi/gems/prettier_print@0.1.0.rbi +8 -0
  92. data/sorbet/rbi/gems/pry@0.14.1.rbi +8 -0
  93. data/sorbet/rbi/gems/racc@1.6.0.rbi +152 -0
  94. data/sorbet/rbi/gems/rack-test@2.0.2.rbi +953 -0
  95. data/sorbet/rbi/gems/rack@2.2.4.rbi +5636 -0
  96. data/sorbet/rbi/gems/rails-html-sanitizer@1.4.3.rbi +688 -0
  97. data/sorbet/rbi/gems/rails@7.0.3.1.rbi +8 -0
  98. data/sorbet/rbi/gems/railties@7.0.3.1.rbi +3507 -0
  99. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +392 -0
  100. data/sorbet/rbi/gems/rake@13.0.6.rbi +2924 -0
  101. data/sorbet/rbi/gems/rbi@0.0.15.rbi +3007 -0
  102. data/sorbet/rbi/gems/regexp_parser@2.5.0.rbi +3383 -0
  103. data/sorbet/rbi/gems/rexml@3.2.5.rbi +4714 -0
  104. data/sorbet/rbi/gems/rubocop-ast@1.21.0.rbi +6961 -0
  105. data/sorbet/rbi/gems/rubocop-performance@1.14.3.rbi +2986 -0
  106. data/sorbet/rbi/gems/{rubocop-shopify@2.0.1.rbi → rubocop-shopify@2.9.0.rbi} +4 -4
  107. data/sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi +992 -0
  108. data/sorbet/rbi/gems/rubocop@1.34.1.rbi +51820 -0
  109. data/sorbet/rbi/gems/ruby-lsp@0.2.1.rbi +11 -0
  110. data/sorbet/rbi/gems/smart_properties@1.17.0.rbi +474 -0
  111. data/sorbet/rbi/gems/spoom@1.1.11.rbi +2181 -0
  112. data/sorbet/rbi/gems/spring@4.0.0.rbi +411 -0
  113. data/sorbet/rbi/gems/strscan@3.0.4.rbi +8 -0
  114. data/sorbet/rbi/gems/syntax_tree@3.3.0.rbi +8 -0
  115. data/sorbet/rbi/gems/tapioca@0.9.2.rbi +3181 -0
  116. data/sorbet/rbi/gems/thor@1.2.1.rbi +3956 -0
  117. data/sorbet/rbi/gems/timeout@0.3.0.rbi +142 -0
  118. data/sorbet/rbi/gems/tzinfo@2.0.5.rbi +5896 -0
  119. data/sorbet/rbi/gems/unicode-display_width@2.2.0.rbi +48 -0
  120. data/sorbet/rbi/gems/unparser@0.6.5.rbi +4529 -0
  121. data/sorbet/rbi/gems/webrick@1.7.0.rbi +2582 -0
  122. data/sorbet/rbi/gems/websocket-driver@0.7.5.rbi +993 -0
  123. data/sorbet/rbi/gems/yard-sorbet@0.6.1.rbi +388 -0
  124. data/sorbet/rbi/gems/yard@0.9.28.rbi +18242 -0
  125. data/sorbet/rbi/gems/zeitwerk@2.6.0.rbi +867 -0
  126. data/sorbet/rbi/shims/psych.rbi +5 -0
  127. data/sorbet/tapioca/require.rb +2 -3
  128. metadata +88 -143
  129. data/.github/probots.yml +0 -2
  130. data/library.yml +0 -6
  131. data/service.yml +0 -1
  132. data/sorbet/rbi/gems/actioncable@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -860
  133. data/sorbet/rbi/gems/actionmailbox@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -568
  134. data/sorbet/rbi/gems/actionmailer@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -587
  135. data/sorbet/rbi/gems/actionpack@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -5314
  136. data/sorbet/rbi/gems/actiontext@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -699
  137. data/sorbet/rbi/gems/actionview@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -2515
  138. data/sorbet/rbi/gems/activejob@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -624
  139. data/sorbet/rbi/gems/activemodel@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -1248
  140. data/sorbet/rbi/gems/activerecord@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -8363
  141. data/sorbet/rbi/gems/activestorage@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -876
  142. data/sorbet/rbi/gems/activesupport@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -3987
  143. data/sorbet/rbi/gems/colorize@0.8.1.rbi +0 -40
  144. data/sorbet/rbi/gems/commander@4.5.2.rbi +0 -8
  145. data/sorbet/rbi/gems/concurrent-ruby@1.1.8.rbi +0 -1969
  146. data/sorbet/rbi/gems/constant_resolver@0.1.5.rbi +0 -26
  147. data/sorbet/rbi/gems/erubi@1.10.0.rbi +0 -41
  148. data/sorbet/rbi/gems/globalid@0.4.2.rbi +0 -178
  149. data/sorbet/rbi/gems/highline@2.0.3.rbi +0 -8
  150. data/sorbet/rbi/gems/i18n@1.8.10.rbi +0 -600
  151. data/sorbet/rbi/gems/loofah@2.9.0.rbi +0 -274
  152. data/sorbet/rbi/gems/m@1.5.1.rbi +0 -108
  153. data/sorbet/rbi/gems/marcel@1.0.0.rbi +0 -70
  154. data/sorbet/rbi/gems/mini_mime@1.0.3.rbi +0 -71
  155. data/sorbet/rbi/gems/minitest-focus@1.2.1.rbi +0 -8
  156. data/sorbet/rbi/gems/minitest@5.14.4.rbi +0 -544
  157. data/sorbet/rbi/gems/mocha@1.12.0.rbi +0 -953
  158. data/sorbet/rbi/gems/nio4r@2.5.7.rbi +0 -90
  159. data/sorbet/rbi/gems/nokogiri@1.11.2.rbi +0 -1647
  160. data/sorbet/rbi/gems/parallel@1.20.1.rbi +0 -117
  161. data/sorbet/rbi/gems/parlour@6.0.0.rbi +0 -1272
  162. data/sorbet/rbi/gems/parser@3.0.0.0.rbi +0 -1745
  163. data/sorbet/rbi/gems/pry@0.14.0.rbi +0 -8
  164. data/sorbet/rbi/gems/psych@3.3.2.rbi +0 -24
  165. data/sorbet/rbi/gems/racc@1.5.2.rbi +0 -57
  166. data/sorbet/rbi/gems/rack-test@1.1.0.rbi +0 -335
  167. data/sorbet/rbi/gems/rack@2.2.3.rbi +0 -1718
  168. data/sorbet/rbi/gems/rails-html-sanitizer@1.3.0.rbi +0 -213
  169. data/sorbet/rbi/gems/rails@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -8
  170. data/sorbet/rbi/gems/railties@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -880
  171. data/sorbet/rbi/gems/rainbow@3.0.0.rbi +0 -155
  172. data/sorbet/rbi/gems/rake@13.0.3.rbi +0 -837
  173. data/sorbet/rbi/gems/regexp_parser@2.1.1.rbi +0 -8
  174. data/sorbet/rbi/gems/rexml@3.2.4.rbi +0 -8
  175. data/sorbet/rbi/gems/rubocop-ast@1.4.1.rbi +0 -8
  176. data/sorbet/rbi/gems/rubocop-performance@1.10.2.rbi +0 -8
  177. data/sorbet/rbi/gems/rubocop-sorbet@0.6.1.rbi +0 -8
  178. data/sorbet/rbi/gems/rubocop@1.12.0.rbi +0 -8
  179. data/sorbet/rbi/gems/smart_properties@1.15.0.rbi +0 -168
  180. data/sorbet/rbi/gems/spoom@1.1.0.rbi +0 -1061
  181. data/sorbet/rbi/gems/spring@2.1.1.rbi +0 -160
  182. data/sorbet/rbi/gems/sprockets-rails@3.2.2.rbi +0 -451
  183. data/sorbet/rbi/gems/sprockets@4.0.2.rbi +0 -1133
  184. data/sorbet/rbi/gems/tapioca@0.4.19.rbi +0 -603
  185. data/sorbet/rbi/gems/thor@1.1.0.rbi +0 -893
  186. data/sorbet/rbi/gems/tzinfo@2.0.4.rbi +0 -566
  187. data/sorbet/rbi/gems/unicode-display_width@2.0.0.rbi +0 -8
  188. data/sorbet/rbi/gems/websocket-driver@0.7.3.rbi +0 -438
  189. data/sorbet/rbi/gems/zeitwerk@2.4.2.rbi +0 -177
@@ -1,600 +0,0 @@
1
- # DO NOT EDIT MANUALLY
2
- # This is an autogenerated file for types exported from the `i18n` gem.
3
- # Please instead update this file by running `bin/tapioca sync`.
4
-
5
- # typed: true
6
-
7
- module I18n
8
- extend(::I18n::Base)
9
-
10
- class << self
11
- def fallbacks; end
12
- def fallbacks=(fallbacks); end
13
- def interpolate(string, values); end
14
- def interpolate_hash(string, values); end
15
- def new_double_nested_cache; end
16
- end
17
- end
18
-
19
- class I18n::ArgumentError < ::ArgumentError
20
- end
21
-
22
- module I18n::Backend
23
- end
24
-
25
- module I18n::Backend::Base
26
- include(::I18n::Backend::Transliterator)
27
-
28
- def available_locales; end
29
- def eager_load!; end
30
- def exists?(locale, key, options = T.unsafe(nil)); end
31
- def load_translations(*filenames); end
32
- def localize(locale, object, format = T.unsafe(nil), options = T.unsafe(nil)); end
33
- def reload!; end
34
- def store_translations(locale, data, options = T.unsafe(nil)); end
35
- def translate(locale, key, options = T.unsafe(nil)); end
36
-
37
- protected
38
-
39
- def deep_interpolate(locale, data, values = T.unsafe(nil)); end
40
- def default(locale, object, subject, options = T.unsafe(nil)); end
41
- def eager_loaded?; end
42
- def interpolate(locale, subject, values = T.unsafe(nil)); end
43
- def load_file(filename); end
44
- def load_json(filename); end
45
- def load_rb(filename); end
46
- def load_yaml(filename); end
47
- def load_yml(filename); end
48
- def lookup(locale, key, scope = T.unsafe(nil), options = T.unsafe(nil)); end
49
- def pluralization_key(entry, count); end
50
- def pluralize(locale, entry, count); end
51
- def resolve(locale, object, subject, options = T.unsafe(nil)); end
52
- def subtrees?; end
53
- def translate_localization_format(locale, object, format, options); end
54
- end
55
-
56
- module I18n::Backend::Cache
57
- def translate(locale, key, options = T.unsafe(nil)); end
58
-
59
- protected
60
-
61
- def _fetch(cache_key, &block); end
62
- def cache_key(locale, key, options); end
63
- def fetch(cache_key, &block); end
64
-
65
- private
66
-
67
- def digest_item(key); end
68
- end
69
-
70
- module I18n::Backend::CacheFile
71
- def path_roots; end
72
- def path_roots=(_arg0); end
73
-
74
- protected
75
-
76
- def load_file(filename); end
77
- def normalized_path(file); end
78
- end
79
-
80
- module I18n::Backend::Cascade
81
- def lookup(locale, key, scope = T.unsafe(nil), options = T.unsafe(nil)); end
82
- end
83
-
84
- class I18n::Backend::Chain
85
- include(::I18n::Backend::Transliterator)
86
- include(::I18n::Backend::Base)
87
- include(::I18n::Backend::Chain::Implementation)
88
- end
89
-
90
- module I18n::Backend::Chain::Implementation
91
- include(::I18n::Backend::Transliterator)
92
- include(::I18n::Backend::Base)
93
-
94
- def initialize(*backends); end
95
-
96
- def available_locales; end
97
- def backends; end
98
- def backends=(_arg0); end
99
- def eager_load!; end
100
- def exists?(locale, key, options = T.unsafe(nil)); end
101
- def initialized?; end
102
- def localize(locale, object, format = T.unsafe(nil), options = T.unsafe(nil)); end
103
- def reload!; end
104
- def store_translations(locale, data, options = T.unsafe(nil)); end
105
- def translate(locale, key, default_options = T.unsafe(nil)); end
106
-
107
- protected
108
-
109
- def init_translations; end
110
- def namespace_lookup?(result, options); end
111
- def translations; end
112
-
113
- private
114
-
115
- def _deep_merge(hash, other_hash); end
116
- end
117
-
118
- module I18n::Backend::Fallbacks
119
- def exists?(locale, key, options = T.unsafe(nil)); end
120
- def extract_non_symbol_default!(options); end
121
- def translate(locale, key, options = T.unsafe(nil)); end
122
-
123
- private
124
-
125
- def on_fallback(_original_locale, _fallback_locale, _key, _optoins); end
126
- end
127
-
128
- module I18n::Backend::Flatten
129
- def flatten_keys(hash, escape, prev_key = T.unsafe(nil), &block); end
130
- def flatten_translations(locale, data, escape, subtree); end
131
- def links; end
132
- def normalize_flat_keys(locale, key, scope, separator); end
133
-
134
- protected
135
-
136
- def escape_default_separator(key); end
137
- def find_link(locale, key); end
138
- def resolve_link(locale, key); end
139
- def store_link(locale, key, link); end
140
-
141
- class << self
142
- def escape_default_separator(key); end
143
- def normalize_flat_keys(locale, key, scope, separator); end
144
- end
145
- end
146
-
147
- I18n::Backend::Flatten::FLATTEN_SEPARATOR = T.let(T.unsafe(nil), String)
148
-
149
- I18n::Backend::Flatten::SEPARATOR_ESCAPE_CHAR = T.let(T.unsafe(nil), String)
150
-
151
- module I18n::Backend::Gettext
152
-
153
- protected
154
-
155
- def load_po(filename); end
156
- def normalize(locale, data); end
157
- def normalize_pluralization(locale, key, value); end
158
- def parse(filename); end
159
- end
160
-
161
- class I18n::Backend::Gettext::PoData < ::Hash
162
- def set_comment(msgid_or_sym, comment); end
163
- end
164
-
165
- module I18n::Backend::InterpolationCompiler
166
- def interpolate(locale, string, values); end
167
- def store_translations(locale, data, options = T.unsafe(nil)); end
168
-
169
- protected
170
-
171
- def compile_all_strings_in(data); end
172
- end
173
-
174
- module I18n::Backend::InterpolationCompiler::Compiler
175
- extend(::I18n::Backend::InterpolationCompiler::Compiler)
176
-
177
- def compile_if_an_interpolation(string); end
178
- def interpolated_str?(str); end
179
-
180
- protected
181
-
182
- def compile_interpolation_token(key); end
183
- def compiled_interpolation_body(str); end
184
- def direct_key(key); end
185
- def escape_key_sym(key); end
186
- def escape_plain_str(str); end
187
- def handle_interpolation_token(interpolation, matchdata); end
188
- def interpolate_key(key); end
189
- def interpolate_or_raise_missing(key); end
190
- def missing_key(key); end
191
- def nil_key(key); end
192
- def reserved_key(key); end
193
- def tokenize(str); end
194
- end
195
-
196
- I18n::Backend::InterpolationCompiler::Compiler::INTERPOLATION_SYNTAX_PATTERN = T.let(T.unsafe(nil), Regexp)
197
-
198
- I18n::Backend::InterpolationCompiler::Compiler::TOKENIZER = T.let(T.unsafe(nil), Regexp)
199
-
200
- class I18n::Backend::KeyValue
201
- include(::I18n::Backend::Flatten)
202
- include(::I18n::Backend::Transliterator)
203
- include(::I18n::Backend::Base)
204
- include(::I18n::Backend::KeyValue::Implementation)
205
- end
206
-
207
- module I18n::Backend::KeyValue::Implementation
208
- include(::I18n::Backend::Flatten)
209
- include(::I18n::Backend::Transliterator)
210
- include(::I18n::Backend::Base)
211
-
212
- def initialize(store, subtrees = T.unsafe(nil)); end
213
-
214
- def available_locales; end
215
- def initialized?; end
216
- def store; end
217
- def store=(_arg0); end
218
- def store_translations(locale, data, options = T.unsafe(nil)); end
219
-
220
- protected
221
-
222
- def init_translations; end
223
- def lookup(locale, key, scope = T.unsafe(nil), options = T.unsafe(nil)); end
224
- def pluralize(locale, entry, count); end
225
- def subtrees?; end
226
- def translations; end
227
- end
228
-
229
- class I18n::Backend::KeyValue::SubtreeProxy
230
- def initialize(master_key, store); end
231
-
232
- def [](key); end
233
- def has_key?(key); end
234
- def inspect; end
235
- def instance_of?(klass); end
236
- def is_a?(klass); end
237
- def kind_of?(klass); end
238
- def nil?; end
239
- end
240
-
241
- module I18n::Backend::Memoize
242
- def available_locales; end
243
- def eager_load!; end
244
- def reload!; end
245
- def store_translations(locale, data, options = T.unsafe(nil)); end
246
-
247
- protected
248
-
249
- def lookup(locale, key, scope = T.unsafe(nil), options = T.unsafe(nil)); end
250
- def memoized_lookup; end
251
- def reset_memoizations!(locale = T.unsafe(nil)); end
252
- end
253
-
254
- module I18n::Backend::Metadata
255
- def interpolate(locale, entry, values = T.unsafe(nil)); end
256
- def pluralize(locale, entry, count); end
257
- def translate(locale, key, options = T.unsafe(nil)); end
258
-
259
- protected
260
-
261
- def with_metadata(metadata, &block); end
262
-
263
- class << self
264
- def included(base); end
265
- end
266
- end
267
-
268
- module I18n::Backend::Pluralization
269
- def pluralize(locale, entry, count); end
270
-
271
- protected
272
-
273
- def pluralizer(locale); end
274
- def pluralizers; end
275
- end
276
-
277
- class I18n::Backend::Simple
278
- include(::I18n::Backend::Transliterator)
279
- include(::I18n::Backend::Base)
280
- include(::I18n::Backend::Simple::Implementation)
281
- end
282
-
283
- module I18n::Backend::Simple::Implementation
284
- include(::I18n::Backend::Transliterator)
285
- include(::I18n::Backend::Base)
286
-
287
- def available_locales; end
288
- def eager_load!; end
289
- def initialized?; end
290
- def reload!; end
291
- def store_translations(locale, data, options = T.unsafe(nil)); end
292
- def translations(do_init: T.unsafe(nil)); end
293
-
294
- protected
295
-
296
- def init_translations; end
297
- def lookup(locale, key, scope = T.unsafe(nil), options = T.unsafe(nil)); end
298
- end
299
-
300
- module I18n::Backend::Transliterator
301
- def transliterate(locale, string, replacement = T.unsafe(nil)); end
302
-
303
- class << self
304
- def get(rule = T.unsafe(nil)); end
305
- end
306
- end
307
-
308
- I18n::Backend::Transliterator::DEFAULT_REPLACEMENT_CHAR = T.let(T.unsafe(nil), String)
309
-
310
- class I18n::Backend::Transliterator::HashTransliterator
311
- def initialize(rule = T.unsafe(nil)); end
312
-
313
- def transliterate(string, replacement = T.unsafe(nil)); end
314
-
315
- private
316
-
317
- def add(hash); end
318
- def add_default_approximations; end
319
- def approximations; end
320
- end
321
-
322
- I18n::Backend::Transliterator::HashTransliterator::DEFAULT_APPROXIMATIONS = T.let(T.unsafe(nil), Hash)
323
-
324
- class I18n::Backend::Transliterator::ProcTransliterator
325
- def initialize(rule); end
326
-
327
- def transliterate(string, replacement = T.unsafe(nil)); end
328
- end
329
-
330
- module I18n::Base
331
- def available_locales; end
332
- def available_locales=(value); end
333
- def available_locales_initialized?; end
334
- def backend; end
335
- def backend=(value); end
336
- def config; end
337
- def config=(value); end
338
- def default_locale; end
339
- def default_locale=(value); end
340
- def default_separator; end
341
- def default_separator=(value); end
342
- def eager_load!; end
343
- def enforce_available_locales; end
344
- def enforce_available_locales!(locale); end
345
- def enforce_available_locales=(value); end
346
- def exception_handler; end
347
- def exception_handler=(value); end
348
- def exists?(key, _locale = T.unsafe(nil), locale: T.unsafe(nil), **options); end
349
- def l(object, locale: T.unsafe(nil), format: T.unsafe(nil), **options); end
350
- def load_path; end
351
- def load_path=(value); end
352
- def locale; end
353
- def locale=(value); end
354
- def locale_available?(locale); end
355
- def localize(object, locale: T.unsafe(nil), format: T.unsafe(nil), **options); end
356
- def normalize_keys(locale, key, scope, separator = T.unsafe(nil)); end
357
- def reload!; end
358
- def t(key = T.unsafe(nil), throw: T.unsafe(nil), raise: T.unsafe(nil), locale: T.unsafe(nil), **options); end
359
- def t!(key, **options); end
360
- def translate(key = T.unsafe(nil), throw: T.unsafe(nil), raise: T.unsafe(nil), locale: T.unsafe(nil), **options); end
361
- def translate!(key, **options); end
362
- def transliterate(key, throw: T.unsafe(nil), raise: T.unsafe(nil), locale: T.unsafe(nil), replacement: T.unsafe(nil), **options); end
363
- def with_locale(tmp_locale = T.unsafe(nil)); end
364
-
365
- private
366
-
367
- def handle_exception(handling, exception, locale, key, options); end
368
- def normalize_key(key, separator); end
369
- end
370
-
371
- class I18n::Config
372
- def available_locales; end
373
- def available_locales=(locales); end
374
- def available_locales_initialized?; end
375
- def available_locales_set; end
376
- def backend; end
377
- def backend=(backend); end
378
- def clear_available_locales_set; end
379
- def default_locale; end
380
- def default_locale=(locale); end
381
- def default_separator; end
382
- def default_separator=(separator); end
383
- def enforce_available_locales; end
384
- def enforce_available_locales=(enforce_available_locales); end
385
- def exception_handler; end
386
- def exception_handler=(exception_handler); end
387
- def interpolation_patterns; end
388
- def interpolation_patterns=(interpolation_patterns); end
389
- def load_path; end
390
- def load_path=(load_path); end
391
- def locale; end
392
- def locale=(locale); end
393
- def missing_interpolation_argument_handler; end
394
- def missing_interpolation_argument_handler=(exception_handler); end
395
- end
396
-
397
- I18n::DEFAULT_INTERPOLATION_PATTERNS = T.let(T.unsafe(nil), Array)
398
-
399
- class I18n::Disabled < ::I18n::ArgumentError
400
- def initialize(method); end
401
- end
402
-
403
- I18n::EMPTY_HASH = T.let(T.unsafe(nil), Hash)
404
-
405
- class I18n::ExceptionHandler
406
- def call(exception, _locale, _key, _options); end
407
- end
408
-
409
- module I18n::Gettext
410
- class << self
411
- def extract_scope(msgid, separator); end
412
- def plural_keys(*args); end
413
- end
414
- end
415
-
416
- I18n::Gettext::CONTEXT_SEPARATOR = T.let(T.unsafe(nil), String)
417
-
418
- module I18n::Gettext::Helpers
419
- def N_(msgsid); end
420
- def _(msgid, options = T.unsafe(nil)); end
421
- def gettext(msgid, options = T.unsafe(nil)); end
422
- def n_(msgid, msgid_plural, n = T.unsafe(nil)); end
423
- def ngettext(msgid, msgid_plural, n = T.unsafe(nil)); end
424
- def np_(msgctxt, msgid, msgid_plural, n = T.unsafe(nil)); end
425
- def npgettext(msgctxt, msgid, msgid_plural, n = T.unsafe(nil)); end
426
- def ns_(msgid, msgid_plural, n = T.unsafe(nil), separator = T.unsafe(nil)); end
427
- def nsgettext(msgid, msgid_plural, n = T.unsafe(nil), separator = T.unsafe(nil)); end
428
- def p_(msgctxt, msgid); end
429
- def pgettext(msgctxt, msgid); end
430
- def s_(msgid, separator = T.unsafe(nil)); end
431
- def sgettext(msgid, separator = T.unsafe(nil)); end
432
- end
433
-
434
- I18n::Gettext::PLURAL_SEPARATOR = T.let(T.unsafe(nil), String)
435
-
436
- I18n::INTERPOLATION_PATTERN = T.let(T.unsafe(nil), Regexp)
437
-
438
- class I18n::InvalidLocale < ::I18n::ArgumentError
439
- def initialize(locale); end
440
-
441
- def locale; end
442
- end
443
-
444
- class I18n::InvalidLocaleData < ::I18n::ArgumentError
445
- def initialize(filename, exception_message); end
446
-
447
- def filename; end
448
- end
449
-
450
- class I18n::InvalidPluralizationData < ::I18n::ArgumentError
451
- def initialize(entry, count, key); end
452
-
453
- def count; end
454
- def entry; end
455
- def key; end
456
- end
457
-
458
- module I18n::Locale
459
- end
460
-
461
- class I18n::Locale::Fallbacks < ::Hash
462
- def initialize(*mappings); end
463
-
464
- def [](locale); end
465
- def defaults; end
466
- def defaults=(defaults); end
467
- def map(mappings); end
468
-
469
- protected
470
-
471
- def compute(tags, include_defaults = T.unsafe(nil), exclude = T.unsafe(nil)); end
472
- end
473
-
474
- module I18n::Locale::Tag
475
- class << self
476
- def implementation; end
477
- def implementation=(implementation); end
478
- def tag(tag); end
479
- end
480
- end
481
-
482
- module I18n::Locale::Tag::Parents
483
- def parent; end
484
- def parents; end
485
- def self_and_parents; end
486
- end
487
-
488
- class I18n::Locale::Tag::Rfc4646 < ::Struct
489
- include(::I18n::Locale::Tag::Parents)
490
-
491
- def language; end
492
- def region; end
493
- def script; end
494
- def to_a; end
495
- def to_s; end
496
- def to_sym; end
497
- def variant; end
498
-
499
- class << self
500
- def parser; end
501
- def parser=(parser); end
502
- def tag(tag); end
503
- end
504
- end
505
-
506
- module I18n::Locale::Tag::Rfc4646::Parser
507
- class << self
508
- def match(tag); end
509
- end
510
- end
511
-
512
- I18n::Locale::Tag::Rfc4646::Parser::PATTERN = T.let(T.unsafe(nil), Regexp)
513
-
514
- class I18n::Locale::Tag::Simple
515
- include(::I18n::Locale::Tag::Parents)
516
-
517
- def initialize(*tag); end
518
-
519
- def subtags; end
520
- def tag; end
521
- def to_a; end
522
- def to_s; end
523
- def to_sym; end
524
-
525
- class << self
526
- def tag(tag); end
527
- end
528
- end
529
-
530
- class I18n::Middleware
531
- def initialize(app); end
532
-
533
- def call(env); end
534
- end
535
-
536
- class I18n::MissingInterpolationArgument < ::I18n::ArgumentError
537
- def initialize(key, values, string); end
538
-
539
- def key; end
540
- def string; end
541
- def values; end
542
- end
543
-
544
- class I18n::MissingTranslation < ::I18n::ArgumentError
545
- include(::I18n::MissingTranslation::Base)
546
- end
547
-
548
- module I18n::MissingTranslation::Base
549
- def initialize(locale, key, options = T.unsafe(nil)); end
550
-
551
- def key; end
552
- def keys; end
553
- def locale; end
554
- def message; end
555
- def options; end
556
- def to_exception; end
557
- def to_s; end
558
- end
559
-
560
- class I18n::MissingTranslationData < ::I18n::ArgumentError
561
- include(::I18n::MissingTranslation::Base)
562
- end
563
-
564
- I18n::RESERVED_KEYS = T.let(T.unsafe(nil), Array)
565
-
566
- I18n::RESERVED_KEYS_PATTERN = T.let(T.unsafe(nil), Regexp)
567
-
568
- class I18n::ReservedInterpolationKey < ::I18n::ArgumentError
569
- def initialize(key, string); end
570
-
571
- def key; end
572
- def string; end
573
- end
574
-
575
- module I18n::Tests
576
- end
577
-
578
- module I18n::Tests::Localization
579
- class << self
580
- def included(base); end
581
- end
582
- end
583
-
584
- class I18n::UnknownFileType < ::I18n::ArgumentError
585
- def initialize(type, filename); end
586
-
587
- def filename; end
588
- def type; end
589
- end
590
-
591
- I18n::VERSION = T.let(T.unsafe(nil), String)
592
-
593
- module I18n::HashRefinements
594
- end
595
-
596
- I18n::JSON = ActiveSupport::JSON
597
-
598
- I18n::Locale::Tag::RFC4646_FORMATS = T.let(T.unsafe(nil), Hash)
599
-
600
- I18n::Locale::Tag::RFC4646_SUBTAGS = T.let(T.unsafe(nil), Array)