packwerk 2.2.0 → 2.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (187) 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 +201 -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_validator.rb +7 -6
  19. data/lib/packwerk/association_inspector.rb +17 -15
  20. data/lib/packwerk/cache.rb +36 -29
  21. data/lib/packwerk/cli.rb +5 -6
  22. data/lib/packwerk/const_node_inspector.rb +8 -7
  23. data/lib/packwerk/constant_name_inspector.rb +2 -2
  24. data/lib/packwerk/deprecated_references.rb +34 -19
  25. data/lib/packwerk/file_processor.rb +14 -14
  26. data/lib/packwerk/files_for_processing.rb +27 -31
  27. data/lib/packwerk/formatters/offenses_formatter.rb +3 -3
  28. data/lib/packwerk/formatters/progress_formatter.rb +2 -2
  29. data/lib/packwerk/node.rb +1 -294
  30. data/lib/packwerk/node_helpers.rb +335 -0
  31. data/lib/packwerk/node_processor.rb +6 -5
  32. data/lib/packwerk/node_processor_factory.rb +3 -3
  33. data/lib/packwerk/node_visitor.rb +1 -1
  34. data/lib/packwerk/offense_collection.rb +6 -3
  35. data/lib/packwerk/offenses_formatter.rb +2 -2
  36. data/lib/packwerk/package.rb +3 -0
  37. data/lib/packwerk/package_set.rb +2 -0
  38. data/lib/packwerk/parse_run.rb +15 -13
  39. data/lib/packwerk/parsed_constant_definitions.rb +23 -20
  40. data/lib/packwerk/parsers/erb.rb +3 -3
  41. data/lib/packwerk/reference_checking/checkers/checker.rb +16 -3
  42. data/lib/packwerk/reference_checking/checkers/dependency_checker.rb +16 -0
  43. data/lib/packwerk/reference_checking/checkers/privacy_checker.rb +18 -0
  44. data/lib/packwerk/reference_checking/reference_checker.rb +3 -1
  45. data/lib/packwerk/reference_extractor.rb +51 -48
  46. data/lib/packwerk/reference_offense.rb +3 -27
  47. data/lib/packwerk/run_context.rb +3 -3
  48. data/lib/packwerk/spring_command.rb +1 -1
  49. data/lib/packwerk/version.rb +1 -1
  50. data/lib/packwerk.rb +1 -0
  51. data/packwerk.gemspec +4 -12
  52. data/sorbet/rbi/gems/actioncable@7.0.3.1.rbi +2754 -0
  53. data/sorbet/rbi/gems/actionmailbox@7.0.3.1.rbi +1496 -0
  54. data/sorbet/rbi/gems/actionmailer@7.0.3.1.rbi +2362 -0
  55. data/sorbet/rbi/gems/actionpack@7.0.3.1.rbi +19397 -0
  56. data/sorbet/rbi/gems/actiontext@7.0.3.1.rbi +1569 -0
  57. data/sorbet/rbi/gems/actionview@7.0.3.1.rbi +14907 -0
  58. data/sorbet/rbi/gems/activejob@7.0.3.1.rbi +2553 -0
  59. data/sorbet/rbi/gems/activemodel@7.0.3.1.rbi +5999 -0
  60. data/sorbet/rbi/gems/activerecord@7.0.3.1.rbi +37832 -0
  61. data/sorbet/rbi/gems/activestorage@7.0.3.1.rbi +2321 -0
  62. data/sorbet/rbi/gems/activesupport@7.0.3.1.rbi +18818 -0
  63. data/sorbet/rbi/gems/concurrent-ruby@1.1.10.rbi +11722 -0
  64. data/sorbet/rbi/gems/constant_resolver@0.2.0.rbi +90 -0
  65. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +1079 -0
  66. data/sorbet/rbi/gems/digest@3.1.0.rbi +189 -0
  67. data/sorbet/rbi/gems/erubi@1.11.0.rbi +140 -0
  68. data/sorbet/rbi/gems/globalid@1.0.0.rbi +572 -0
  69. data/sorbet/rbi/gems/i18n@1.12.0.rbi +2296 -0
  70. data/sorbet/rbi/gems/json@2.6.2.rbi +1548 -0
  71. data/sorbet/rbi/gems/language_server-protocol@3.16.0.3.rbi +8 -0
  72. data/sorbet/rbi/gems/loofah@2.18.0.rbi +877 -0
  73. data/sorbet/rbi/gems/m@1.6.0.rbi +257 -0
  74. data/sorbet/rbi/gems/marcel@1.0.2.rbi +220 -0
  75. data/sorbet/rbi/gems/mini_mime@1.1.2.rbi +170 -0
  76. data/sorbet/rbi/gems/mini_portile2@2.8.0.rbi +8 -0
  77. data/sorbet/rbi/gems/minitest-focus@1.3.1.rbi +104 -0
  78. data/sorbet/rbi/gems/minitest@5.16.2.rbi +2136 -0
  79. data/sorbet/rbi/gems/mocha@1.14.0.rbi +4177 -0
  80. data/sorbet/rbi/gems/net-imap@0.2.3.rbi +2147 -0
  81. data/sorbet/rbi/gems/net-pop@0.1.1.rbi +926 -0
  82. data/sorbet/rbi/gems/net-protocol@0.1.3.rbi +11 -0
  83. data/sorbet/rbi/gems/net-smtp@0.3.1.rbi +1108 -0
  84. data/sorbet/rbi/gems/netrc@0.11.0.rbi +153 -0
  85. data/sorbet/rbi/gems/nio4r@2.5.8.rbi +292 -0
  86. data/sorbet/rbi/gems/nokogiri@1.13.8.rbi +6478 -0
  87. data/sorbet/rbi/gems/parallel@1.22.1.rbi +277 -0
  88. data/sorbet/rbi/gems/parser@3.1.2.1.rbi +9029 -0
  89. data/sorbet/rbi/gems/prettier_print@0.1.0.rbi +8 -0
  90. data/sorbet/rbi/gems/pry@0.14.1.rbi +8 -0
  91. data/sorbet/rbi/gems/racc@1.6.0.rbi +152 -0
  92. data/sorbet/rbi/gems/rack-test@2.0.2.rbi +953 -0
  93. data/sorbet/rbi/gems/rack@2.2.4.rbi +5636 -0
  94. data/sorbet/rbi/gems/rails-html-sanitizer@1.4.3.rbi +688 -0
  95. data/sorbet/rbi/gems/rails@7.0.3.1.rbi +8 -0
  96. data/sorbet/rbi/gems/railties@7.0.3.1.rbi +3507 -0
  97. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +392 -0
  98. data/sorbet/rbi/gems/rake@13.0.6.rbi +2924 -0
  99. data/sorbet/rbi/gems/rbi@0.0.15.rbi +3007 -0
  100. data/sorbet/rbi/gems/regexp_parser@2.5.0.rbi +3383 -0
  101. data/sorbet/rbi/gems/rexml@3.2.5.rbi +4714 -0
  102. data/sorbet/rbi/gems/rubocop-ast@1.21.0.rbi +6961 -0
  103. data/sorbet/rbi/gems/rubocop-performance@1.14.3.rbi +2986 -0
  104. data/sorbet/rbi/gems/{rubocop-shopify@2.0.1.rbi → rubocop-shopify@2.9.0.rbi} +4 -4
  105. data/sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi +992 -0
  106. data/sorbet/rbi/gems/rubocop@1.34.1.rbi +51820 -0
  107. data/sorbet/rbi/gems/ruby-lsp@0.2.1.rbi +11 -0
  108. data/sorbet/rbi/gems/smart_properties@1.17.0.rbi +474 -0
  109. data/sorbet/rbi/gems/spoom@1.1.11.rbi +2181 -0
  110. data/sorbet/rbi/gems/spring@4.0.0.rbi +411 -0
  111. data/sorbet/rbi/gems/strscan@3.0.4.rbi +8 -0
  112. data/sorbet/rbi/gems/syntax_tree@3.3.0.rbi +8 -0
  113. data/sorbet/rbi/gems/tapioca@0.9.2.rbi +3181 -0
  114. data/sorbet/rbi/gems/thor@1.2.1.rbi +3956 -0
  115. data/sorbet/rbi/gems/timeout@0.3.0.rbi +142 -0
  116. data/sorbet/rbi/gems/tzinfo@2.0.5.rbi +5896 -0
  117. data/sorbet/rbi/gems/unicode-display_width@2.2.0.rbi +48 -0
  118. data/sorbet/rbi/gems/unparser@0.6.5.rbi +4529 -0
  119. data/sorbet/rbi/gems/webrick@1.7.0.rbi +2582 -0
  120. data/sorbet/rbi/gems/websocket-driver@0.7.5.rbi +993 -0
  121. data/sorbet/rbi/gems/yard-sorbet@0.6.1.rbi +388 -0
  122. data/sorbet/rbi/gems/yard@0.9.28.rbi +18242 -0
  123. data/sorbet/rbi/gems/zeitwerk@2.6.0.rbi +867 -0
  124. data/sorbet/rbi/shims/psych.rbi +5 -0
  125. data/sorbet/tapioca/require.rb +2 -3
  126. metadata +88 -157
  127. data/.github/probots.yml +0 -2
  128. data/library.yml +0 -6
  129. data/service.yml +0 -1
  130. data/sorbet/rbi/gems/actioncable@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -860
  131. data/sorbet/rbi/gems/actionmailbox@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -568
  132. data/sorbet/rbi/gems/actionmailer@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -587
  133. data/sorbet/rbi/gems/actionpack@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -5314
  134. data/sorbet/rbi/gems/actiontext@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -699
  135. data/sorbet/rbi/gems/actionview@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -2515
  136. data/sorbet/rbi/gems/activejob@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -624
  137. data/sorbet/rbi/gems/activemodel@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -1248
  138. data/sorbet/rbi/gems/activerecord@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -8363
  139. data/sorbet/rbi/gems/activestorage@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -876
  140. data/sorbet/rbi/gems/activesupport@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -3987
  141. data/sorbet/rbi/gems/colorize@0.8.1.rbi +0 -40
  142. data/sorbet/rbi/gems/commander@4.5.2.rbi +0 -8
  143. data/sorbet/rbi/gems/concurrent-ruby@1.1.8.rbi +0 -1969
  144. data/sorbet/rbi/gems/constant_resolver@0.1.5.rbi +0 -26
  145. data/sorbet/rbi/gems/erubi@1.10.0.rbi +0 -41
  146. data/sorbet/rbi/gems/globalid@0.4.2.rbi +0 -178
  147. data/sorbet/rbi/gems/highline@2.0.3.rbi +0 -8
  148. data/sorbet/rbi/gems/i18n@1.8.10.rbi +0 -600
  149. data/sorbet/rbi/gems/loofah@2.9.0.rbi +0 -274
  150. data/sorbet/rbi/gems/m@1.5.1.rbi +0 -108
  151. data/sorbet/rbi/gems/marcel@1.0.0.rbi +0 -70
  152. data/sorbet/rbi/gems/mini_mime@1.0.3.rbi +0 -71
  153. data/sorbet/rbi/gems/minitest-focus@1.2.1.rbi +0 -8
  154. data/sorbet/rbi/gems/minitest@5.14.4.rbi +0 -544
  155. data/sorbet/rbi/gems/mocha@1.12.0.rbi +0 -953
  156. data/sorbet/rbi/gems/nio4r@2.5.7.rbi +0 -90
  157. data/sorbet/rbi/gems/nokogiri@1.11.2.rbi +0 -1647
  158. data/sorbet/rbi/gems/parallel@1.20.1.rbi +0 -117
  159. data/sorbet/rbi/gems/parlour@6.0.0.rbi +0 -1272
  160. data/sorbet/rbi/gems/parser@3.0.0.0.rbi +0 -1745
  161. data/sorbet/rbi/gems/pry@0.14.0.rbi +0 -8
  162. data/sorbet/rbi/gems/psych@3.3.2.rbi +0 -24
  163. data/sorbet/rbi/gems/racc@1.5.2.rbi +0 -57
  164. data/sorbet/rbi/gems/rack-test@1.1.0.rbi +0 -335
  165. data/sorbet/rbi/gems/rack@2.2.3.rbi +0 -1718
  166. data/sorbet/rbi/gems/rails-html-sanitizer@1.3.0.rbi +0 -213
  167. data/sorbet/rbi/gems/rails@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -8
  168. data/sorbet/rbi/gems/railties@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -880
  169. data/sorbet/rbi/gems/rainbow@3.0.0.rbi +0 -155
  170. data/sorbet/rbi/gems/rake@13.0.3.rbi +0 -837
  171. data/sorbet/rbi/gems/regexp_parser@2.1.1.rbi +0 -8
  172. data/sorbet/rbi/gems/rexml@3.2.4.rbi +0 -8
  173. data/sorbet/rbi/gems/rubocop-ast@1.4.1.rbi +0 -8
  174. data/sorbet/rbi/gems/rubocop-performance@1.10.2.rbi +0 -8
  175. data/sorbet/rbi/gems/rubocop-sorbet@0.6.1.rbi +0 -8
  176. data/sorbet/rbi/gems/rubocop@1.12.0.rbi +0 -8
  177. data/sorbet/rbi/gems/smart_properties@1.15.0.rbi +0 -168
  178. data/sorbet/rbi/gems/spoom@1.1.0.rbi +0 -1061
  179. data/sorbet/rbi/gems/spring@2.1.1.rbi +0 -160
  180. data/sorbet/rbi/gems/sprockets-rails@3.2.2.rbi +0 -451
  181. data/sorbet/rbi/gems/sprockets@4.0.2.rbi +0 -1133
  182. data/sorbet/rbi/gems/tapioca@0.4.19.rbi +0 -603
  183. data/sorbet/rbi/gems/thor@1.1.0.rbi +0 -893
  184. data/sorbet/rbi/gems/tzinfo@2.0.4.rbi +0 -566
  185. data/sorbet/rbi/gems/unicode-display_width@2.0.0.rbi +0 -8
  186. data/sorbet/rbi/gems/websocket-driver@0.7.3.rbi +0 -438
  187. data/sorbet/rbi/gems/zeitwerk@2.4.2.rbi +0 -177
@@ -1,860 +0,0 @@
1
- # DO NOT EDIT MANUALLY
2
- # This is an autogenerated file for types exported from the `actioncable` gem.
3
- # Please instead update this file by running `bin/tapioca sync`.
4
-
5
- # typed: true
6
-
7
- module ActionCable
8
- extend(::ActiveSupport::Autoload)
9
-
10
-
11
- private
12
-
13
- def server; end
14
-
15
- class << self
16
- def gem_version; end
17
- def server; end
18
- def version; end
19
- end
20
- end
21
-
22
- module ActionCable::Channel
23
- extend(::ActiveSupport::Autoload)
24
- end
25
-
26
- class ActionCable::Channel::Base
27
- include(::ActiveSupport::Callbacks)
28
- include(::ActionCable::Channel::Callbacks)
29
- include(::ActionCable::Channel::PeriodicTimers)
30
- include(::ActionCable::Channel::Streams)
31
- include(::ActionCable::Channel::Naming)
32
- include(::ActionCable::Channel::Broadcasting)
33
- include(::ActiveSupport::Rescuable)
34
- extend(::ActiveSupport::Callbacks::ClassMethods)
35
- extend(::ActiveSupport::DescendantsTracker)
36
- extend(::ActionCable::Channel::Callbacks::ClassMethods)
37
- extend(::ActionCable::Channel::PeriodicTimers::ClassMethods)
38
- extend(::ActionCable::Channel::Naming::ClassMethods)
39
- extend(::ActionCable::Channel::Broadcasting::ClassMethods)
40
- extend(::ActiveSupport::Rescuable::ClassMethods)
41
-
42
- def initialize(connection, identifier, params = T.unsafe(nil)); end
43
-
44
- def __callbacks; end
45
- def __callbacks?; end
46
- def _run_subscribe_callbacks(&block); end
47
- def _run_unsubscribe_callbacks(&block); end
48
- def _subscribe_callbacks; end
49
- def _unsubscribe_callbacks; end
50
- def connection; end
51
- def identifier; end
52
- def logger(*_arg0, &_arg1); end
53
- def params; end
54
- def perform_action(data); end
55
- def periodic_timers=(_arg0); end
56
- def rescue_handlers; end
57
- def rescue_handlers=(_arg0); end
58
- def rescue_handlers?; end
59
- def subscribe_to_channel; end
60
- def unsubscribe_from_channel; end
61
-
62
- private
63
-
64
- def action_signature(action, data); end
65
- def defer_subscription_confirmation!; end
66
- def defer_subscription_confirmation?; end
67
- def delegate_connection_identifiers; end
68
- def dispatch_action(action, data); end
69
- def ensure_confirmation_sent; end
70
- def extract_action(data); end
71
- def processable_action?(action); end
72
- def reject; end
73
- def reject_subscription; end
74
- def subscribed; end
75
- def subscription_confirmation_sent?; end
76
- def subscription_rejected?; end
77
- def transmit(data, via: T.unsafe(nil)); end
78
- def transmit_subscription_confirmation; end
79
- def transmit_subscription_rejection; end
80
- def unsubscribed; end
81
-
82
- class << self
83
- def __callbacks; end
84
- def __callbacks=(value); end
85
- def __callbacks?; end
86
- def _subscribe_callbacks; end
87
- def _subscribe_callbacks=(value); end
88
- def _unsubscribe_callbacks; end
89
- def _unsubscribe_callbacks=(value); end
90
- def action_methods; end
91
- def periodic_timers; end
92
- def periodic_timers=(value); end
93
- def periodic_timers?; end
94
- def rescue_handlers; end
95
- def rescue_handlers=(value); end
96
- def rescue_handlers?; end
97
-
98
- private
99
-
100
- def clear_action_methods!; end
101
- def method_added(name); end
102
- end
103
- end
104
-
105
- module ActionCable::Channel::Broadcasting
106
- extend(::ActiveSupport::Concern)
107
-
108
- mixes_in_class_methods(::ActionCable::Channel::Broadcasting::ClassMethods)
109
-
110
- def broadcast_to(*_arg0, &_arg1); end
111
- def broadcasting_for(*_arg0, &_arg1); end
112
- end
113
-
114
- module ActionCable::Channel::Broadcasting::ClassMethods
115
- def broadcast_to(model, message); end
116
- def broadcasting_for(model); end
117
- def serialize_broadcasting(object); end
118
- end
119
-
120
- module ActionCable::Channel::Callbacks
121
- extend(::ActiveSupport::Concern)
122
-
123
- include(::ActiveSupport::Callbacks)
124
-
125
- mixes_in_class_methods(::ActionCable::Channel::Callbacks::ClassMethods)
126
- end
127
-
128
- module ActionCable::Channel::Callbacks::ClassMethods
129
- def after_subscribe(*methods, &block); end
130
- def after_unsubscribe(*methods, &block); end
131
- def before_subscribe(*methods, &block); end
132
- def before_unsubscribe(*methods, &block); end
133
- def on_subscribe(*methods, &block); end
134
- def on_unsubscribe(*methods, &block); end
135
- end
136
-
137
- module ActionCable::Channel::Naming
138
- extend(::ActiveSupport::Concern)
139
-
140
- mixes_in_class_methods(::ActionCable::Channel::Naming::ClassMethods)
141
-
142
- def channel_name(*_arg0, &_arg1); end
143
- end
144
-
145
- module ActionCable::Channel::Naming::ClassMethods
146
- def channel_name; end
147
- end
148
-
149
- module ActionCable::Channel::PeriodicTimers
150
- extend(::ActiveSupport::Concern)
151
-
152
- mixes_in_class_methods(::ActionCable::Channel::PeriodicTimers::ClassMethods)
153
-
154
-
155
- private
156
-
157
- def active_periodic_timers; end
158
- def start_periodic_timer(callback, every:); end
159
- def start_periodic_timers; end
160
- def stop_periodic_timers; end
161
- end
162
-
163
- module ActionCable::Channel::PeriodicTimers::ClassMethods
164
- def periodically(callback_or_method_name = T.unsafe(nil), every:, &block); end
165
- end
166
-
167
- module ActionCable::Channel::Streams
168
- extend(::ActiveSupport::Concern)
169
-
170
- def pubsub(*_arg0, &_arg1); end
171
- def stop_all_streams; end
172
- def stop_stream_for(model); end
173
- def stop_stream_from(broadcasting); end
174
- def stream_for(model, callback = T.unsafe(nil), coder: T.unsafe(nil), &block); end
175
- def stream_from(broadcasting, callback = T.unsafe(nil), coder: T.unsafe(nil), &block); end
176
- def stream_or_reject_for(model); end
177
-
178
- private
179
-
180
- def default_stream_handler(broadcasting, coder:); end
181
- def identity_handler; end
182
- def stream_decoder(handler = T.unsafe(nil), coder:); end
183
- def stream_handler(broadcasting, user_handler, coder: T.unsafe(nil)); end
184
- def stream_transmitter(handler = T.unsafe(nil), broadcasting:); end
185
- def streams; end
186
- def worker_pool_stream_handler(broadcasting, user_handler, coder: T.unsafe(nil)); end
187
- end
188
-
189
- class ActionCable::Channel::TestCase < ::ActiveSupport::TestCase
190
- include(::ActiveSupport::Testing::ConstantLookup)
191
- include(::ActionCable::TestHelper)
192
- include(::ActionCable::Channel::TestCase::Behavior)
193
- extend(::ActiveSupport::Testing::ConstantLookup::ClassMethods)
194
- extend(::ActionCable::Channel::TestCase::Behavior::ClassMethods)
195
-
196
- def _channel_class; end
197
- def _channel_class=(_arg0); end
198
- def _channel_class?; end
199
- def connection; end
200
- def subscription; end
201
-
202
- class << self
203
- def _channel_class; end
204
- def _channel_class=(value); end
205
- def _channel_class?; end
206
- end
207
- end
208
-
209
- module ActionCable::Channel::TestCase::Behavior
210
- include(::ActionCable::TestHelper)
211
- extend(::ActiveSupport::Concern)
212
-
213
- include(::ActiveSupport::Testing::ConstantLookup)
214
-
215
- mixes_in_class_methods(::ActionCable::Channel::TestCase::Behavior::ClassMethods)
216
-
217
- def assert_broadcast_on(stream_or_object, *args); end
218
- def assert_broadcasts(stream_or_object, *args); end
219
- def assert_has_stream(stream); end
220
- def assert_has_stream_for(object); end
221
- def assert_no_streams; end
222
- def perform(action, data = T.unsafe(nil)); end
223
- def stub_connection(identifiers = T.unsafe(nil)); end
224
- def subscribe(params = T.unsafe(nil)); end
225
- def transmissions; end
226
- def unsubscribe; end
227
-
228
- private
229
-
230
- def broadcasting_for(stream_or_object); end
231
- def check_subscribed!; end
232
- end
233
-
234
- ActionCable::Channel::TestCase::Behavior::CHANNEL_IDENTIFIER = T.let(T.unsafe(nil), String)
235
-
236
- module ActionCable::Channel::TestCase::Behavior::ClassMethods
237
- def channel_class; end
238
- def determine_default_channel(name); end
239
- def tests(channel); end
240
- end
241
-
242
- module ActionCable::Connection
243
- extend(::ActiveSupport::Autoload)
244
- end
245
-
246
- module ActionCable::Connection::Authorization
247
- def reject_unauthorized_connection; end
248
- end
249
-
250
- class ActionCable::Connection::Authorization::UnauthorizedError < ::StandardError
251
- end
252
-
253
- class ActionCable::Connection::Base
254
- include(::ActionCable::Connection::Identification)
255
- include(::ActionCable::Connection::InternalChannel)
256
- include(::ActionCable::Connection::Authorization)
257
- include(::ActiveSupport::Rescuable)
258
- extend(::ActionCable::Connection::Identification::ClassMethods)
259
- extend(::ActiveSupport::Rescuable::ClassMethods)
260
-
261
- def initialize(server, env, coder: T.unsafe(nil)); end
262
-
263
- def beat; end
264
- def close(reason: T.unsafe(nil), reconnect: T.unsafe(nil)); end
265
- def dispatch_websocket_message(websocket_message); end
266
- def env; end
267
- def event_loop(*_arg0, &_arg1); end
268
- def identifiers; end
269
- def identifiers=(_arg0); end
270
- def identifiers?; end
271
- def logger; end
272
- def on_close(reason, code); end
273
- def on_error(message); end
274
- def on_message(message); end
275
- def on_open; end
276
- def process; end
277
- def protocol; end
278
- def pubsub(*_arg0, &_arg1); end
279
- def receive(websocket_message); end
280
- def rescue_handlers; end
281
- def rescue_handlers=(_arg0); end
282
- def rescue_handlers?; end
283
- def send_async(method, *arguments); end
284
- def server; end
285
- def statistics; end
286
- def subscriptions; end
287
- def transmit(cable_message); end
288
- def worker_pool; end
289
-
290
- private
291
-
292
- def allow_request_origin?; end
293
- def cookies; end
294
- def decode(websocket_message); end
295
- def encode(cable_message); end
296
- def finished_request_message; end
297
- def handle_close; end
298
- def handle_open; end
299
- def invalid_request_message; end
300
- def message_buffer; end
301
- def new_tagged_logger; end
302
- def request; end
303
- def respond_to_invalid_request; end
304
- def respond_to_successful_request; end
305
- def send_welcome_message; end
306
- def started_request_message; end
307
- def successful_request_message; end
308
- def websocket; end
309
-
310
- class << self
311
- def identifiers; end
312
- def identifiers=(value); end
313
- def identifiers?; end
314
- def rescue_handlers; end
315
- def rescue_handlers=(value); end
316
- def rescue_handlers?; end
317
- end
318
- end
319
-
320
- class ActionCable::Connection::ClientSocket
321
- def initialize(env, event_target, event_loop, protocols); end
322
-
323
- def alive?; end
324
- def client_gone; end
325
- def close(code = T.unsafe(nil), reason = T.unsafe(nil)); end
326
- def env; end
327
- def parse(data); end
328
- def protocol; end
329
- def rack_response; end
330
- def start_driver; end
331
- def transmit(message); end
332
- def url; end
333
- def write(data); end
334
-
335
- private
336
-
337
- def begin_close(reason, code); end
338
- def emit_error(message); end
339
- def finalize_close; end
340
- def open; end
341
- def receive_message(data); end
342
-
343
- class << self
344
- def determine_url(env); end
345
- def secure_request?(env); end
346
- end
347
- end
348
-
349
- ActionCable::Connection::ClientSocket::CLOSED = T.let(T.unsafe(nil), Integer)
350
-
351
- ActionCable::Connection::ClientSocket::CLOSING = T.let(T.unsafe(nil), Integer)
352
-
353
- ActionCable::Connection::ClientSocket::CONNECTING = T.let(T.unsafe(nil), Integer)
354
-
355
- ActionCable::Connection::ClientSocket::OPEN = T.let(T.unsafe(nil), Integer)
356
-
357
- module ActionCable::Connection::Identification
358
- extend(::ActiveSupport::Concern)
359
-
360
- mixes_in_class_methods(::ActionCable::Connection::Identification::ClassMethods)
361
-
362
- def connection_identifier; end
363
-
364
- private
365
-
366
- def connection_gid(ids); end
367
- end
368
-
369
- module ActionCable::Connection::Identification::ClassMethods
370
- def identified_by(*identifiers); end
371
- end
372
-
373
- module ActionCable::Connection::InternalChannel
374
- extend(::ActiveSupport::Concern)
375
-
376
-
377
- private
378
-
379
- def internal_channel; end
380
- def process_internal_message(message); end
381
- def subscribe_to_internal_channel; end
382
- def unsubscribe_from_internal_channel; end
383
- end
384
-
385
- class ActionCable::Connection::MessageBuffer
386
- def initialize(connection); end
387
-
388
- def append(message); end
389
- def process!; end
390
- def processing?; end
391
-
392
- private
393
-
394
- def buffer(message); end
395
- def buffered_messages; end
396
- def connection; end
397
- def receive(message); end
398
- def receive_buffered_messages; end
399
- def valid?(message); end
400
- end
401
-
402
- class ActionCable::Connection::Stream
403
- def initialize(event_loop, socket); end
404
-
405
- def close; end
406
- def each(&callback); end
407
- def flush_write_buffer; end
408
- def hijack_rack_socket; end
409
- def receive(data); end
410
- def shutdown; end
411
- def write(data); end
412
-
413
- private
414
-
415
- def clean_rack_hijack; end
416
- end
417
-
418
- class ActionCable::Connection::StreamEventLoop
419
- def initialize; end
420
-
421
- def attach(io, stream); end
422
- def detach(io, stream); end
423
- def post(task = T.unsafe(nil), &block); end
424
- def stop; end
425
- def timer(interval, &block); end
426
- def writes_pending(io); end
427
-
428
- private
429
-
430
- def run; end
431
- def spawn; end
432
- def wakeup; end
433
- end
434
-
435
- class ActionCable::Connection::Subscriptions
436
- def initialize(connection); end
437
-
438
- def add(data); end
439
- def execute_command(data); end
440
- def identifiers; end
441
- def logger(*_arg0, &_arg1); end
442
- def perform_action(data); end
443
- def remove(data); end
444
- def remove_subscription(subscription); end
445
- def unsubscribe_from_all; end
446
-
447
- private
448
-
449
- def connection; end
450
- def find(data); end
451
- def subscriptions; end
452
- end
453
-
454
- class ActionCable::Connection::TaggedLoggerProxy
455
- def initialize(logger, tags:); end
456
-
457
- def add_tags(*tags); end
458
- def debug(message); end
459
- def error(message); end
460
- def fatal(message); end
461
- def info(message); end
462
- def tag(logger); end
463
- def tags; end
464
- def unknown(message); end
465
- def warn(message); end
466
-
467
- private
468
-
469
- def log(type, message); end
470
- end
471
-
472
- class ActionCable::Connection::TestCase < ::ActiveSupport::TestCase
473
- include(::ActiveSupport::Testing::ConstantLookup)
474
- include(::ActionCable::Connection::Assertions)
475
- include(::ActionCable::Connection::TestCase::Behavior)
476
- extend(::ActiveSupport::Testing::ConstantLookup::ClassMethods)
477
- extend(::ActionCable::Connection::TestCase::Behavior::ClassMethods)
478
-
479
- def _connection_class; end
480
- def _connection_class=(_arg0); end
481
- def _connection_class?; end
482
- def connection; end
483
-
484
- class << self
485
- def _connection_class; end
486
- def _connection_class=(value); end
487
- def _connection_class?; end
488
- end
489
- end
490
-
491
- module ActionCable::Connection::TestCase::Behavior
492
- include(::ActionCable::Connection::Assertions)
493
- extend(::ActiveSupport::Concern)
494
-
495
- include(::ActiveSupport::Testing::ConstantLookup)
496
-
497
- mixes_in_class_methods(::ActionCable::Connection::TestCase::Behavior::ClassMethods)
498
-
499
- def connect(path = T.unsafe(nil), **request_params); end
500
- def cookies; end
501
- def disconnect; end
502
-
503
- private
504
-
505
- def build_test_request(path, params: T.unsafe(nil), headers: T.unsafe(nil), session: T.unsafe(nil), env: T.unsafe(nil)); end
506
- end
507
-
508
- module ActionCable::Connection::TestCase::Behavior::ClassMethods
509
- def connection_class; end
510
- def determine_default_connection(name); end
511
- def tests(connection); end
512
- end
513
-
514
- ActionCable::Connection::TestCase::Behavior::DEFAULT_PATH = T.let(T.unsafe(nil), String)
515
-
516
- class ActionCable::Connection::WebSocket
517
- def initialize(env, event_target, event_loop, protocols: T.unsafe(nil)); end
518
-
519
- def alive?; end
520
- def close; end
521
- def possible?; end
522
- def protocol; end
523
- def rack_response; end
524
- def transmit(data); end
525
-
526
- private
527
-
528
- def websocket; end
529
- end
530
-
531
- class ActionCable::Engine < ::Rails::Engine
532
- end
533
-
534
- module ActionCable::Helpers
535
- end
536
-
537
- module ActionCable::Helpers::ActionCableHelper
538
- def action_cable_meta_tag; end
539
- end
540
-
541
- ActionCable::INTERNAL = T.let(T.unsafe(nil), Hash)
542
-
543
- class ActionCable::RemoteConnections
544
- def initialize(server); end
545
-
546
- def server; end
547
- def where(identifier); end
548
- end
549
-
550
- class ActionCable::RemoteConnections::RemoteConnection
551
- include(::ActionCable::Connection::InternalChannel)
552
- include(::ActionCable::Connection::Identification)
553
- extend(::ActionCable::Connection::Identification::ClassMethods)
554
-
555
- def initialize(server, ids); end
556
-
557
- def disconnect; end
558
- def identifiers; end
559
- def identifiers=(_arg0); end
560
- def identifiers?; end
561
-
562
- protected
563
-
564
- def server; end
565
-
566
- private
567
-
568
- def set_identifier_instance_vars(ids); end
569
- def valid_identifiers?(ids); end
570
-
571
- class << self
572
- def identifiers; end
573
- def identifiers=(value); end
574
- def identifiers?; end
575
- end
576
- end
577
-
578
- class ActionCable::RemoteConnections::RemoteConnection::InvalidIdentifiersError < ::StandardError
579
- end
580
-
581
- module ActionCable::Server
582
- extend(::ActiveSupport::Autoload)
583
- end
584
-
585
- class ActionCable::Server::Base
586
- include(::ActionCable::Server::Broadcasting)
587
- include(::ActionCable::Server::Connections)
588
-
589
- def initialize(config: T.unsafe(nil)); end
590
-
591
- def call(env); end
592
- def config; end
593
- def connection_identifiers; end
594
- def disconnect(identifiers); end
595
- def event_loop; end
596
- def logger(*_arg0, &_arg1); end
597
- def mutex; end
598
- def pubsub; end
599
- def remote_connections; end
600
- def restart; end
601
- def worker_pool; end
602
-
603
- class << self
604
- def config; end
605
- def config=(val); end
606
- def logger; end
607
- end
608
- end
609
-
610
- module ActionCable::Server::Broadcasting
611
- def broadcast(broadcasting, message, coder: T.unsafe(nil)); end
612
- def broadcaster_for(broadcasting, coder: T.unsafe(nil)); end
613
- end
614
-
615
- class ActionCable::Server::Broadcasting::Broadcaster
616
- def initialize(server, broadcasting, coder:); end
617
-
618
- def broadcast(message); end
619
- def broadcasting; end
620
- def coder; end
621
- def server; end
622
- end
623
-
624
- class ActionCable::Server::Configuration
625
- def initialize; end
626
-
627
- def allow_same_origin_as_host; end
628
- def allow_same_origin_as_host=(_arg0); end
629
- def allowed_request_origins; end
630
- def allowed_request_origins=(_arg0); end
631
- def cable; end
632
- def cable=(_arg0); end
633
- def connection_class; end
634
- def connection_class=(_arg0); end
635
- def disable_request_forgery_protection; end
636
- def disable_request_forgery_protection=(_arg0); end
637
- def log_tags; end
638
- def log_tags=(_arg0); end
639
- def logger; end
640
- def logger=(_arg0); end
641
- def mount_path; end
642
- def mount_path=(_arg0); end
643
- def pubsub_adapter; end
644
- def url; end
645
- def url=(_arg0); end
646
- def worker_pool_size; end
647
- def worker_pool_size=(_arg0); end
648
- end
649
-
650
- module ActionCable::Server::Connections
651
- def add_connection(connection); end
652
- def connections; end
653
- def open_connections_statistics; end
654
- def remove_connection(connection); end
655
- def setup_heartbeat_timer; end
656
- end
657
-
658
- ActionCable::Server::Connections::BEAT_INTERVAL = T.let(T.unsafe(nil), Integer)
659
-
660
- class ActionCable::Server::Worker
661
- include(::ActiveSupport::Callbacks)
662
- include(::ActionCable::Server::Worker::ActiveRecordConnectionManagement)
663
- extend(::ActiveSupport::Callbacks::ClassMethods)
664
- extend(::ActiveSupport::DescendantsTracker)
665
-
666
- def initialize(max_size: T.unsafe(nil)); end
667
-
668
- def __callbacks; end
669
- def __callbacks?; end
670
- def _run_work_callbacks(&block); end
671
- def _work_callbacks; end
672
- def async_exec(receiver, *args, connection:, &block); end
673
- def async_invoke(receiver, method, *args, connection: T.unsafe(nil), &block); end
674
- def connection; end
675
- def connection=(obj); end
676
- def executor; end
677
- def halt; end
678
- def invoke(receiver, method, *args, connection:, &block); end
679
- def stopping?; end
680
- def work(connection); end
681
-
682
- private
683
-
684
- def logger; end
685
-
686
- class << self
687
- def __callbacks; end
688
- def __callbacks=(value); end
689
- def __callbacks?; end
690
- def _work_callbacks; end
691
- def _work_callbacks=(value); end
692
- def connection; end
693
- def connection=(obj); end
694
- end
695
- end
696
-
697
- module ActionCable::Server::Worker::ActiveRecordConnectionManagement
698
- extend(::ActiveSupport::Concern)
699
-
700
- def with_database_connections; end
701
- end
702
-
703
- module ActionCable::SubscriptionAdapter
704
- extend(::ActiveSupport::Autoload)
705
- end
706
-
707
- class ActionCable::SubscriptionAdapter::Base
708
- def initialize(server); end
709
-
710
- def broadcast(channel, payload); end
711
- def identifier; end
712
- def logger; end
713
- def server; end
714
- def shutdown; end
715
- def subscribe(channel, message_callback, success_callback = T.unsafe(nil)); end
716
- def unsubscribe(channel, message_callback); end
717
- end
718
-
719
- module ActionCable::SubscriptionAdapter::ChannelPrefix
720
- def broadcast(channel, payload); end
721
- def subscribe(channel, callback, success_callback = T.unsafe(nil)); end
722
- def unsubscribe(channel, callback); end
723
-
724
- private
725
-
726
- def channel_with_prefix(channel); end
727
- end
728
-
729
- class ActionCable::SubscriptionAdapter::SubscriberMap
730
- def initialize; end
731
-
732
- def add_channel(channel, on_success); end
733
- def add_subscriber(channel, subscriber, on_success); end
734
- def broadcast(channel, message); end
735
- def invoke_callback(callback, message); end
736
- def remove_channel(channel); end
737
- def remove_subscriber(channel, subscriber); end
738
- end
739
-
740
- class ActionCable::SubscriptionAdapter::Test < ::ActionCable::SubscriptionAdapter::Async
741
- def broadcast(channel, payload); end
742
- def broadcasts(channel); end
743
- def clear; end
744
- def clear_messages(channel); end
745
-
746
- private
747
-
748
- def channels_data; end
749
- end
750
-
751
- class ActionCable::TestCase < ::ActiveSupport::TestCase
752
- include(::ActionCable::TestHelper)
753
- end
754
-
755
- module ActionCable::TestHelper
756
- def after_teardown; end
757
- def assert_broadcast_on(stream, data, &block); end
758
- def assert_broadcasts(stream, number, &block); end
759
- def assert_no_broadcasts(stream, &block); end
760
- def before_setup; end
761
- def broadcasts(*_arg0, &_arg1); end
762
- def clear_messages(*_arg0, &_arg1); end
763
- def pubsub_adapter; end
764
-
765
- private
766
-
767
- def broadcasts_size(channel); end
768
- end
769
-
770
- module ActionCable::VERSION
771
- end
772
-
773
- ActionCable::VERSION::MAJOR = T.let(T.unsafe(nil), Integer)
774
-
775
- ActionCable::VERSION::MINOR = T.let(T.unsafe(nil), Integer)
776
-
777
- ActionCable::VERSION::PRE = T.let(T.unsafe(nil), String)
778
-
779
- ActionCable::VERSION::STRING = T.let(T.unsafe(nil), String)
780
-
781
- ActionCable::VERSION::TINY = T.let(T.unsafe(nil), Integer)
782
-
783
- module ActionCable::Channel::ChannelStub
784
- def confirmed?; end
785
- def rejected?; end
786
- def start_periodic_timers; end
787
- def stop_all_streams; end
788
- def stop_periodic_timers; end
789
- def stream_from(broadcasting, *_arg1); end
790
- def streams; end
791
- end
792
-
793
- class ActionCable::Channel::ConnectionStub
794
- def initialize(identifiers = T.unsafe(nil)); end
795
-
796
- def identifiers; end
797
- def logger; end
798
- def subscriptions; end
799
- def transmissions; end
800
- def transmit(cable_message); end
801
- end
802
-
803
- class ActionCable::Channel::NonInferrableChannelError < ::StandardError
804
- def initialize(name); end
805
- end
806
-
807
- module ActionCable::Connection::Assertions
808
- def assert_reject_connection(&block); end
809
- end
810
-
811
- class ActionCable::Connection::NonInferrableConnectionError < ::StandardError
812
- def initialize(name); end
813
- end
814
-
815
- module ActionCable::Connection::TestConnection
816
- def initialize(request); end
817
-
818
- def logger; end
819
- def request; end
820
- end
821
-
822
- class ActionCable::Connection::TestCookieJar < ::ActiveSupport::HashWithIndifferentAccess
823
- def encrypted; end
824
- def signed; end
825
- end
826
-
827
- class ActionCable::Connection::TestRequest < ::ActionDispatch::TestRequest
828
- def cookie_jar; end
829
- def cookie_jar=(_arg0); end
830
- def session; end
831
- def session=(_arg0); end
832
- end
833
-
834
- class ActionCable::SubscriptionAdapter::Async < ::ActionCable::SubscriptionAdapter::Inline
835
-
836
- private
837
-
838
- def new_subscriber_map; end
839
- end
840
-
841
- class ActionCable::SubscriptionAdapter::Async::AsyncSubscriberMap < ::ActionCable::SubscriptionAdapter::SubscriberMap
842
- def initialize(event_loop); end
843
-
844
- def add_subscriber(*_arg0); end
845
- def invoke_callback(*_arg0); end
846
- end
847
-
848
- class ActionCable::SubscriptionAdapter::Inline < ::ActionCable::SubscriptionAdapter::Base
849
- def initialize(*_arg0); end
850
-
851
- def broadcast(channel, payload); end
852
- def shutdown; end
853
- def subscribe(channel, callback, success_callback = T.unsafe(nil)); end
854
- def unsubscribe(channel, callback); end
855
-
856
- private
857
-
858
- def new_subscriber_map; end
859
- def subscriber_map; end
860
- end