packwerk 2.2.0 → 2.2.2

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.
Files changed (188) 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 +202 -175
  7. data/README.md +1 -1
  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 +1 -1
  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 +24 -20
  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 +40 -20
  26. data/lib/packwerk/file_processor.rb +14 -14
  27. data/lib/packwerk/files_for_processing.rb +27 -31
  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 +27 -8
  36. data/lib/packwerk/offenses_formatter.rb +2 -2
  37. data/lib/packwerk/package.rb +3 -0
  38. data/lib/packwerk/package_set.rb +2 -0
  39. data/lib/packwerk/parse_run.rb +29 -20
  40. data/lib/packwerk/parsed_constant_definitions.rb +23 -20
  41. data/lib/packwerk/parsers/erb.rb +3 -3
  42. data/lib/packwerk/reference_checking/checkers/checker.rb +16 -3
  43. data/lib/packwerk/reference_checking/checkers/dependency_checker.rb +16 -0
  44. data/lib/packwerk/reference_checking/checkers/privacy_checker.rb +18 -0
  45. data/lib/packwerk/reference_checking/reference_checker.rb +3 -1
  46. data/lib/packwerk/reference_extractor.rb +51 -48
  47. data/lib/packwerk/reference_offense.rb +3 -27
  48. data/lib/packwerk/run_context.rb +9 -8
  49. data/lib/packwerk/spring_command.rb +1 -1
  50. data/lib/packwerk/version.rb +1 -1
  51. data/lib/packwerk.rb +1 -0
  52. data/packwerk.gemspec +5 -12
  53. data/sorbet/rbi/gems/actioncable@7.0.3.1.rbi +2754 -0
  54. data/sorbet/rbi/gems/actionmailbox@7.0.3.1.rbi +1496 -0
  55. data/sorbet/rbi/gems/actionmailer@7.0.3.1.rbi +2362 -0
  56. data/sorbet/rbi/gems/actionpack@7.0.3.1.rbi +19397 -0
  57. data/sorbet/rbi/gems/actiontext@7.0.3.1.rbi +1569 -0
  58. data/sorbet/rbi/gems/actionview@7.0.3.1.rbi +14907 -0
  59. data/sorbet/rbi/gems/activejob@7.0.3.1.rbi +2553 -0
  60. data/sorbet/rbi/gems/activemodel@7.0.3.1.rbi +5999 -0
  61. data/sorbet/rbi/gems/activerecord@7.0.3.1.rbi +37832 -0
  62. data/sorbet/rbi/gems/activestorage@7.0.3.1.rbi +2321 -0
  63. data/sorbet/rbi/gems/activesupport@7.0.3.1.rbi +18818 -0
  64. data/sorbet/rbi/gems/concurrent-ruby@1.1.10.rbi +11722 -0
  65. data/sorbet/rbi/gems/constant_resolver@0.2.0.rbi +90 -0
  66. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +1079 -0
  67. data/sorbet/rbi/gems/digest@3.1.0.rbi +189 -0
  68. data/sorbet/rbi/gems/erubi@1.11.0.rbi +140 -0
  69. data/sorbet/rbi/gems/globalid@1.0.0.rbi +572 -0
  70. data/sorbet/rbi/gems/i18n@1.12.0.rbi +2296 -0
  71. data/sorbet/rbi/gems/json@2.6.2.rbi +1548 -0
  72. data/sorbet/rbi/gems/language_server-protocol@3.16.0.3.rbi +8 -0
  73. data/sorbet/rbi/gems/loofah@2.18.0.rbi +877 -0
  74. data/sorbet/rbi/gems/m@1.6.0.rbi +257 -0
  75. data/sorbet/rbi/gems/marcel@1.0.2.rbi +220 -0
  76. data/sorbet/rbi/gems/mini_mime@1.1.2.rbi +170 -0
  77. data/sorbet/rbi/gems/mini_portile2@2.8.0.rbi +8 -0
  78. data/sorbet/rbi/gems/minitest-focus@1.3.1.rbi +104 -0
  79. data/sorbet/rbi/gems/minitest@5.16.2.rbi +2136 -0
  80. data/sorbet/rbi/gems/mocha@1.14.0.rbi +4177 -0
  81. data/sorbet/rbi/gems/net-imap@0.2.3.rbi +2147 -0
  82. data/sorbet/rbi/gems/net-pop@0.1.1.rbi +926 -0
  83. data/sorbet/rbi/gems/net-protocol@0.1.3.rbi +11 -0
  84. data/sorbet/rbi/gems/net-smtp@0.3.1.rbi +1108 -0
  85. data/sorbet/rbi/gems/netrc@0.11.0.rbi +153 -0
  86. data/sorbet/rbi/gems/nio4r@2.5.8.rbi +292 -0
  87. data/sorbet/rbi/gems/nokogiri@1.13.8.rbi +6478 -0
  88. data/sorbet/rbi/gems/parallel@1.22.1.rbi +277 -0
  89. data/sorbet/rbi/gems/parser@3.1.2.1.rbi +9029 -0
  90. data/sorbet/rbi/gems/prettier_print@0.1.0.rbi +8 -0
  91. data/sorbet/rbi/gems/pry@0.14.1.rbi +8 -0
  92. data/sorbet/rbi/gems/racc@1.6.0.rbi +152 -0
  93. data/sorbet/rbi/gems/rack-test@2.0.2.rbi +953 -0
  94. data/sorbet/rbi/gems/rack@2.2.4.rbi +5636 -0
  95. data/sorbet/rbi/gems/rails-html-sanitizer@1.4.3.rbi +688 -0
  96. data/sorbet/rbi/gems/rails@7.0.3.1.rbi +8 -0
  97. data/sorbet/rbi/gems/railties@7.0.3.1.rbi +3507 -0
  98. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +392 -0
  99. data/sorbet/rbi/gems/rake@13.0.6.rbi +2924 -0
  100. data/sorbet/rbi/gems/rbi@0.0.15.rbi +3007 -0
  101. data/sorbet/rbi/gems/regexp_parser@2.5.0.rbi +3383 -0
  102. data/sorbet/rbi/gems/rexml@3.2.5.rbi +4714 -0
  103. data/sorbet/rbi/gems/rubocop-ast@1.21.0.rbi +6961 -0
  104. data/sorbet/rbi/gems/rubocop-performance@1.14.3.rbi +2986 -0
  105. data/sorbet/rbi/gems/{rubocop-shopify@2.0.1.rbi → rubocop-shopify@2.9.0.rbi} +4 -4
  106. data/sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi +992 -0
  107. data/sorbet/rbi/gems/rubocop@1.34.1.rbi +51820 -0
  108. data/sorbet/rbi/gems/ruby-lsp@0.2.1.rbi +11 -0
  109. data/sorbet/rbi/gems/smart_properties@1.17.0.rbi +474 -0
  110. data/sorbet/rbi/gems/spoom@1.1.11.rbi +2181 -0
  111. data/sorbet/rbi/gems/spring@4.0.0.rbi +411 -0
  112. data/sorbet/rbi/gems/strscan@3.0.4.rbi +8 -0
  113. data/sorbet/rbi/gems/syntax_tree@3.3.0.rbi +8 -0
  114. data/sorbet/rbi/gems/tapioca@0.9.2.rbi +3181 -0
  115. data/sorbet/rbi/gems/thor@1.2.1.rbi +3956 -0
  116. data/sorbet/rbi/gems/timeout@0.3.0.rbi +142 -0
  117. data/sorbet/rbi/gems/tzinfo@2.0.5.rbi +5896 -0
  118. data/sorbet/rbi/gems/unicode-display_width@2.2.0.rbi +48 -0
  119. data/sorbet/rbi/gems/unparser@0.6.5.rbi +4529 -0
  120. data/sorbet/rbi/gems/webrick@1.7.0.rbi +2582 -0
  121. data/sorbet/rbi/gems/websocket-driver@0.7.5.rbi +993 -0
  122. data/sorbet/rbi/gems/yard-sorbet@0.6.1.rbi +388 -0
  123. data/sorbet/rbi/gems/yard@0.9.28.rbi +18242 -0
  124. data/sorbet/rbi/gems/zeitwerk@2.6.0.rbi +867 -0
  125. data/sorbet/rbi/shims/psych.rbi +5 -0
  126. data/sorbet/tapioca/require.rb +2 -3
  127. metadata +91 -146
  128. data/.github/probots.yml +0 -2
  129. data/library.yml +0 -6
  130. data/service.yml +0 -1
  131. data/sorbet/rbi/gems/actioncable@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -860
  132. data/sorbet/rbi/gems/actionmailbox@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -568
  133. data/sorbet/rbi/gems/actionmailer@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -587
  134. data/sorbet/rbi/gems/actionpack@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -5314
  135. data/sorbet/rbi/gems/actiontext@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -699
  136. data/sorbet/rbi/gems/actionview@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -2515
  137. data/sorbet/rbi/gems/activejob@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -624
  138. data/sorbet/rbi/gems/activemodel@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -1248
  139. data/sorbet/rbi/gems/activerecord@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -8363
  140. data/sorbet/rbi/gems/activestorage@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -876
  141. data/sorbet/rbi/gems/activesupport@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -3987
  142. data/sorbet/rbi/gems/colorize@0.8.1.rbi +0 -40
  143. data/sorbet/rbi/gems/commander@4.5.2.rbi +0 -8
  144. data/sorbet/rbi/gems/concurrent-ruby@1.1.8.rbi +0 -1969
  145. data/sorbet/rbi/gems/constant_resolver@0.1.5.rbi +0 -26
  146. data/sorbet/rbi/gems/erubi@1.10.0.rbi +0 -41
  147. data/sorbet/rbi/gems/globalid@0.4.2.rbi +0 -178
  148. data/sorbet/rbi/gems/highline@2.0.3.rbi +0 -8
  149. data/sorbet/rbi/gems/i18n@1.8.10.rbi +0 -600
  150. data/sorbet/rbi/gems/loofah@2.9.0.rbi +0 -274
  151. data/sorbet/rbi/gems/m@1.5.1.rbi +0 -108
  152. data/sorbet/rbi/gems/marcel@1.0.0.rbi +0 -70
  153. data/sorbet/rbi/gems/mini_mime@1.0.3.rbi +0 -71
  154. data/sorbet/rbi/gems/minitest-focus@1.2.1.rbi +0 -8
  155. data/sorbet/rbi/gems/minitest@5.14.4.rbi +0 -544
  156. data/sorbet/rbi/gems/mocha@1.12.0.rbi +0 -953
  157. data/sorbet/rbi/gems/nio4r@2.5.7.rbi +0 -90
  158. data/sorbet/rbi/gems/nokogiri@1.11.2.rbi +0 -1647
  159. data/sorbet/rbi/gems/parallel@1.20.1.rbi +0 -117
  160. data/sorbet/rbi/gems/parlour@6.0.0.rbi +0 -1272
  161. data/sorbet/rbi/gems/parser@3.0.0.0.rbi +0 -1745
  162. data/sorbet/rbi/gems/pry@0.14.0.rbi +0 -8
  163. data/sorbet/rbi/gems/psych@3.3.2.rbi +0 -24
  164. data/sorbet/rbi/gems/racc@1.5.2.rbi +0 -57
  165. data/sorbet/rbi/gems/rack-test@1.1.0.rbi +0 -335
  166. data/sorbet/rbi/gems/rack@2.2.3.rbi +0 -1718
  167. data/sorbet/rbi/gems/rails-html-sanitizer@1.3.0.rbi +0 -213
  168. data/sorbet/rbi/gems/rails@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -8
  169. data/sorbet/rbi/gems/railties@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -880
  170. data/sorbet/rbi/gems/rainbow@3.0.0.rbi +0 -155
  171. data/sorbet/rbi/gems/rake@13.0.3.rbi +0 -837
  172. data/sorbet/rbi/gems/regexp_parser@2.1.1.rbi +0 -8
  173. data/sorbet/rbi/gems/rexml@3.2.4.rbi +0 -8
  174. data/sorbet/rbi/gems/rubocop-ast@1.4.1.rbi +0 -8
  175. data/sorbet/rbi/gems/rubocop-performance@1.10.2.rbi +0 -8
  176. data/sorbet/rbi/gems/rubocop-sorbet@0.6.1.rbi +0 -8
  177. data/sorbet/rbi/gems/rubocop@1.12.0.rbi +0 -8
  178. data/sorbet/rbi/gems/smart_properties@1.15.0.rbi +0 -168
  179. data/sorbet/rbi/gems/spoom@1.1.0.rbi +0 -1061
  180. data/sorbet/rbi/gems/spring@2.1.1.rbi +0 -160
  181. data/sorbet/rbi/gems/sprockets-rails@3.2.2.rbi +0 -451
  182. data/sorbet/rbi/gems/sprockets@4.0.2.rbi +0 -1133
  183. data/sorbet/rbi/gems/tapioca@0.4.19.rbi +0 -603
  184. data/sorbet/rbi/gems/thor@1.1.0.rbi +0 -893
  185. data/sorbet/rbi/gems/tzinfo@2.0.4.rbi +0 -566
  186. data/sorbet/rbi/gems/unicode-display_width@2.0.0.rbi +0 -8
  187. data/sorbet/rbi/gems/websocket-driver@0.7.3.rbi +0 -438
  188. 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)