packwerk 1.0.0
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.
- checksums.yaml +7 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +27 -0
- data/.github/probots.yml +2 -0
- data/.github/pull_request_template.md +27 -0
- data/.github/workflows/ci.yml +50 -0
- data/.gitignore +12 -0
- data/.rubocop.yml +46 -0
- data/.ruby-version +1 -0
- data/CODEOWNERS +1 -0
- data/CODE_OF_CONDUCT.md +76 -0
- data/CONTRIBUTING.md +17 -0
- data/Gemfile +22 -0
- data/Gemfile.lock +236 -0
- data/LICENSE.md +7 -0
- data/README.md +73 -0
- data/Rakefile +13 -0
- data/TROUBLESHOOT.md +67 -0
- data/USAGE.md +250 -0
- data/bin/console +15 -0
- data/bin/setup +8 -0
- data/dev.yml +32 -0
- data/docs/cohesion.png +0 -0
- data/exe/packwerk +6 -0
- data/lib/packwerk.rb +44 -0
- data/lib/packwerk/application_validator.rb +343 -0
- data/lib/packwerk/association_inspector.rb +44 -0
- data/lib/packwerk/checking_deprecated_references.rb +40 -0
- data/lib/packwerk/cli.rb +238 -0
- data/lib/packwerk/configuration.rb +82 -0
- data/lib/packwerk/const_node_inspector.rb +44 -0
- data/lib/packwerk/constant_discovery.rb +60 -0
- data/lib/packwerk/constant_name_inspector.rb +22 -0
- data/lib/packwerk/dependency_checker.rb +28 -0
- data/lib/packwerk/deprecated_references.rb +92 -0
- data/lib/packwerk/file_processor.rb +43 -0
- data/lib/packwerk/files_for_processing.rb +67 -0
- data/lib/packwerk/formatters/progress_formatter.rb +46 -0
- data/lib/packwerk/generators/application_validation.rb +62 -0
- data/lib/packwerk/generators/configuration_file.rb +69 -0
- data/lib/packwerk/generators/inflections_file.rb +43 -0
- data/lib/packwerk/generators/root_package.rb +37 -0
- data/lib/packwerk/generators/templates/inflections.yml +6 -0
- data/lib/packwerk/generators/templates/package.yml +17 -0
- data/lib/packwerk/generators/templates/packwerk +23 -0
- data/lib/packwerk/generators/templates/packwerk.yml.erb +23 -0
- data/lib/packwerk/generators/templates/packwerk_validator_test.rb +11 -0
- data/lib/packwerk/graph.rb +74 -0
- data/lib/packwerk/inflections/custom.rb +33 -0
- data/lib/packwerk/inflections/default.rb +73 -0
- data/lib/packwerk/inflector.rb +41 -0
- data/lib/packwerk/node.rb +259 -0
- data/lib/packwerk/node_processor.rb +49 -0
- data/lib/packwerk/node_visitor.rb +22 -0
- data/lib/packwerk/offense.rb +44 -0
- data/lib/packwerk/output_styles.rb +41 -0
- data/lib/packwerk/package.rb +56 -0
- data/lib/packwerk/package_set.rb +59 -0
- data/lib/packwerk/parsed_constant_definitions.rb +62 -0
- data/lib/packwerk/parsers.rb +23 -0
- data/lib/packwerk/parsers/erb.rb +66 -0
- data/lib/packwerk/parsers/factory.rb +34 -0
- data/lib/packwerk/parsers/ruby.rb +42 -0
- data/lib/packwerk/privacy_checker.rb +45 -0
- data/lib/packwerk/reference.rb +6 -0
- data/lib/packwerk/reference_extractor.rb +81 -0
- data/lib/packwerk/reference_lister.rb +23 -0
- data/lib/packwerk/run_context.rb +103 -0
- data/lib/packwerk/sanity_checker.rb +10 -0
- data/lib/packwerk/spring_command.rb +28 -0
- data/lib/packwerk/updating_deprecated_references.rb +51 -0
- data/lib/packwerk/version.rb +6 -0
- data/lib/packwerk/violation_type.rb +13 -0
- data/library.yml +6 -0
- data/packwerk.gemspec +58 -0
- data/service.yml +6 -0
- data/shipit.rubygems.yml +1 -0
- data/sorbet/config +2 -0
- data/sorbet/rbi/gems/actioncable@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +840 -0
- data/sorbet/rbi/gems/actionmailbox@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +571 -0
- data/sorbet/rbi/gems/actionmailer@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +568 -0
- data/sorbet/rbi/gems/actionpack@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +5216 -0
- data/sorbet/rbi/gems/actiontext@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +663 -0
- data/sorbet/rbi/gems/actionview@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +2504 -0
- data/sorbet/rbi/gems/activejob@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +635 -0
- data/sorbet/rbi/gems/activemodel@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +1201 -0
- data/sorbet/rbi/gems/activerecord@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +8011 -0
- data/sorbet/rbi/gems/activestorage@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +904 -0
- data/sorbet/rbi/gems/activesupport@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +3888 -0
- data/sorbet/rbi/gems/ast@2.4.1.rbi +54 -0
- data/sorbet/rbi/gems/better_html@1.0.15.rbi +317 -0
- data/sorbet/rbi/gems/builder@3.2.4.rbi +8 -0
- data/sorbet/rbi/gems/byebug@11.1.3.rbi +8 -0
- data/sorbet/rbi/gems/coderay@1.1.3.rbi +8 -0
- data/sorbet/rbi/gems/colorize@0.8.1.rbi +40 -0
- data/sorbet/rbi/gems/commander@4.5.2.rbi +8 -0
- data/sorbet/rbi/gems/concurrent-ruby@1.1.6.rbi +1966 -0
- data/sorbet/rbi/gems/constant_resolver@0.1.5.rbi +26 -0
- data/sorbet/rbi/gems/crass@1.0.6.rbi +138 -0
- data/sorbet/rbi/gems/erubi@1.9.0.rbi +39 -0
- data/sorbet/rbi/gems/globalid@0.4.2.rbi +178 -0
- data/sorbet/rbi/gems/highline@2.0.3.rbi +8 -0
- data/sorbet/rbi/gems/html_tokenizer@0.0.7.rbi +46 -0
- data/sorbet/rbi/gems/i18n@1.8.2.rbi +633 -0
- data/sorbet/rbi/gems/jaro_winkler@1.5.4.rbi +8 -0
- data/sorbet/rbi/gems/loofah@2.5.0.rbi +272 -0
- data/sorbet/rbi/gems/m@1.5.1.rbi +108 -0
- data/sorbet/rbi/gems/mail@2.7.1.rbi +2490 -0
- data/sorbet/rbi/gems/marcel@0.3.3.rbi +30 -0
- data/sorbet/rbi/gems/method_source@1.0.0.rbi +76 -0
- data/sorbet/rbi/gems/mimemagic@0.3.5.rbi +47 -0
- data/sorbet/rbi/gems/mini_mime@1.0.2.rbi +71 -0
- data/sorbet/rbi/gems/mini_portile2@2.4.0.rbi +8 -0
- data/sorbet/rbi/gems/minitest@5.14.0.rbi +542 -0
- data/sorbet/rbi/gems/mocha@1.11.2.rbi +964 -0
- data/sorbet/rbi/gems/nio4r@2.5.2.rbi +89 -0
- data/sorbet/rbi/gems/nokogiri@1.10.9.rbi +1608 -0
- data/sorbet/rbi/gems/parallel@1.19.1.rbi +8 -0
- data/sorbet/rbi/gems/parlour@4.0.1.rbi +561 -0
- data/sorbet/rbi/gems/parser@2.7.1.4.rbi +1632 -0
- data/sorbet/rbi/gems/pry@0.13.1.rbi +8 -0
- data/sorbet/rbi/gems/rack-test@1.1.0.rbi +335 -0
- data/sorbet/rbi/gems/rack@2.2.2.rbi +1730 -0
- data/sorbet/rbi/gems/rails-dom-testing@2.0.3.rbi +123 -0
- data/sorbet/rbi/gems/rails-html-sanitizer@1.3.0.rbi +213 -0
- data/sorbet/rbi/gems/rails@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +8 -0
- data/sorbet/rbi/gems/railties@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +869 -0
- data/sorbet/rbi/gems/rainbow@3.0.0.rbi +155 -0
- data/sorbet/rbi/gems/rake@13.0.1.rbi +841 -0
- data/sorbet/rbi/gems/rexml@3.2.4.rbi +8 -0
- data/sorbet/rbi/gems/rubocop-performance@1.5.2.rbi +8 -0
- data/sorbet/rbi/gems/rubocop-shopify@1.0.2.rbi +8 -0
- data/sorbet/rbi/gems/rubocop-sorbet@0.3.7.rbi +8 -0
- data/sorbet/rbi/gems/rubocop@0.82.0.rbi +8 -0
- data/sorbet/rbi/gems/ruby-progressbar@1.10.1.rbi +8 -0
- data/sorbet/rbi/gems/smart_properties@1.15.0.rbi +168 -0
- data/sorbet/rbi/gems/spoom@1.0.4.rbi +418 -0
- data/sorbet/rbi/gems/spring@2.1.0.rbi +160 -0
- data/sorbet/rbi/gems/sprockets-rails@3.2.1.rbi +431 -0
- data/sorbet/rbi/gems/sprockets@4.0.0.rbi +1132 -0
- data/sorbet/rbi/gems/tapioca@0.4.5.rbi +518 -0
- data/sorbet/rbi/gems/thor@1.0.1.rbi +892 -0
- data/sorbet/rbi/gems/tzinfo@2.0.2.rbi +547 -0
- data/sorbet/rbi/gems/unicode-display_width@1.7.0.rbi +8 -0
- data/sorbet/rbi/gems/websocket-driver@0.7.1.rbi +438 -0
- data/sorbet/rbi/gems/websocket-extensions@0.1.4.rbi +71 -0
- data/sorbet/rbi/gems/zeitwerk@2.3.0.rbi +8 -0
- data/sorbet/tapioca/require.rb +25 -0
- data/static/packwerk-check-demo.png +0 -0
- data/static/packwerk_check.gif +0 -0
- data/static/packwerk_check_violation.gif +0 -0
- data/static/packwerk_update.gif +0 -0
- data/static/packwerk_validate.gif +0 -0
- metadata +341 -0
data/service.yml
ADDED
data/shipit.rubygems.yml
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
# default configs
|
data/sorbet/config
ADDED
@@ -0,0 +1,840 @@
|
|
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 `dev typecheck update`.
|
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(*args, &block); end
|
53
|
+
def params; end
|
54
|
+
def perform_action(data); end
|
55
|
+
def periodic_timers=(_); end
|
56
|
+
def rescue_handlers; end
|
57
|
+
def rescue_handlers=(_); 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(*args, &block); end
|
111
|
+
def broadcasting_for(*args, &block); 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(*args, &block); 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(*args, &block); 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(record); 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=(_); 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(*args, &block); end
|
268
|
+
def identifiers; end
|
269
|
+
def identifiers=(_); 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(*args, &block); end
|
279
|
+
def receive(websocket_message); end
|
280
|
+
def rescue_handlers; end
|
281
|
+
def rescue_handlers=(_); 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(*args, &block); 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=(_); 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=(_); 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(*args, &block); 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=(_); end
|
629
|
+
def allowed_request_origins; end
|
630
|
+
def allowed_request_origins=(_); end
|
631
|
+
def cable; end
|
632
|
+
def cable=(_); end
|
633
|
+
def connection_class; end
|
634
|
+
def connection_class=(_); end
|
635
|
+
def disable_request_forgery_protection; end
|
636
|
+
def disable_request_forgery_protection=(_); end
|
637
|
+
def log_tags; end
|
638
|
+
def log_tags=(_); end
|
639
|
+
def logger; end
|
640
|
+
def logger=(_); end
|
641
|
+
def mount_path; end
|
642
|
+
def mount_path=(_); end
|
643
|
+
def pubsub_adapter; end
|
644
|
+
def url; end
|
645
|
+
def url=(_); end
|
646
|
+
def worker_pool_size; end
|
647
|
+
def worker_pool_size=(_); 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
|
+
extend(::ActiveSupport::Callbacks::ClassMethods)
|
663
|
+
extend(::ActiveSupport::DescendantsTracker)
|
664
|
+
|
665
|
+
def __callbacks; end
|
666
|
+
def __callbacks?; end
|
667
|
+
def _run_work_callbacks(&block); end
|
668
|
+
def _work_callbacks; end
|
669
|
+
def connection; end
|
670
|
+
def connection=(obj); end
|
671
|
+
|
672
|
+
class << self
|
673
|
+
def __callbacks; end
|
674
|
+
def __callbacks=(value); end
|
675
|
+
def __callbacks?; end
|
676
|
+
def _work_callbacks; end
|
677
|
+
def _work_callbacks=(value); end
|
678
|
+
def connection; end
|
679
|
+
def connection=(obj); end
|
680
|
+
end
|
681
|
+
end
|
682
|
+
|
683
|
+
module ActionCable::SubscriptionAdapter
|
684
|
+
extend(::ActiveSupport::Autoload)
|
685
|
+
end
|
686
|
+
|
687
|
+
class ActionCable::SubscriptionAdapter::Base
|
688
|
+
def initialize(server); end
|
689
|
+
|
690
|
+
def broadcast(channel, payload); end
|
691
|
+
def identifier; end
|
692
|
+
def logger; end
|
693
|
+
def server; end
|
694
|
+
def shutdown; end
|
695
|
+
def subscribe(channel, message_callback, success_callback = T.unsafe(nil)); end
|
696
|
+
def unsubscribe(channel, message_callback); end
|
697
|
+
end
|
698
|
+
|
699
|
+
module ActionCable::SubscriptionAdapter::ChannelPrefix
|
700
|
+
def broadcast(channel, payload); end
|
701
|
+
def subscribe(channel, callback, success_callback = T.unsafe(nil)); end
|
702
|
+
def unsubscribe(channel, callback); end
|
703
|
+
|
704
|
+
private
|
705
|
+
|
706
|
+
def channel_with_prefix(channel); end
|
707
|
+
end
|
708
|
+
|
709
|
+
class ActionCable::SubscriptionAdapter::SubscriberMap
|
710
|
+
def initialize; end
|
711
|
+
|
712
|
+
def add_channel(channel, on_success); end
|
713
|
+
def add_subscriber(channel, subscriber, on_success); end
|
714
|
+
def broadcast(channel, message); end
|
715
|
+
def invoke_callback(callback, message); end
|
716
|
+
def remove_channel(channel); end
|
717
|
+
def remove_subscriber(channel, subscriber); end
|
718
|
+
end
|
719
|
+
|
720
|
+
class ActionCable::SubscriptionAdapter::Test < ::ActionCable::SubscriptionAdapter::Async
|
721
|
+
def broadcast(channel, payload); end
|
722
|
+
def broadcasts(channel); end
|
723
|
+
def clear; end
|
724
|
+
def clear_messages(channel); end
|
725
|
+
|
726
|
+
private
|
727
|
+
|
728
|
+
def channels_data; end
|
729
|
+
end
|
730
|
+
|
731
|
+
class ActionCable::TestCase < ::ActiveSupport::TestCase
|
732
|
+
include(::ActionCable::TestHelper)
|
733
|
+
end
|
734
|
+
|
735
|
+
module ActionCable::TestHelper
|
736
|
+
def after_teardown; end
|
737
|
+
def assert_broadcast_on(stream, data, &block); end
|
738
|
+
def assert_broadcasts(stream, number, &block); end
|
739
|
+
def assert_no_broadcasts(stream, &block); end
|
740
|
+
def before_setup; end
|
741
|
+
def broadcasts(*args, &block); end
|
742
|
+
def clear_messages(*args, &block); end
|
743
|
+
def pubsub_adapter; end
|
744
|
+
|
745
|
+
private
|
746
|
+
|
747
|
+
def broadcasts_size(channel); end
|
748
|
+
end
|
749
|
+
|
750
|
+
module ActionCable::VERSION
|
751
|
+
end
|
752
|
+
|
753
|
+
ActionCable::VERSION::MAJOR = T.let(T.unsafe(nil), Integer)
|
754
|
+
|
755
|
+
ActionCable::VERSION::MINOR = T.let(T.unsafe(nil), Integer)
|
756
|
+
|
757
|
+
ActionCable::VERSION::PRE = T.let(T.unsafe(nil), String)
|
758
|
+
|
759
|
+
ActionCable::VERSION::STRING = T.let(T.unsafe(nil), String)
|
760
|
+
|
761
|
+
ActionCable::VERSION::TINY = T.let(T.unsafe(nil), Integer)
|
762
|
+
|
763
|
+
module ActionCable::Channel::ChannelStub
|
764
|
+
def confirmed?; end
|
765
|
+
def rejected?; end
|
766
|
+
def start_periodic_timers; end
|
767
|
+
def stop_all_streams; end
|
768
|
+
def stop_periodic_timers; end
|
769
|
+
def stream_from(broadcasting, *_); end
|
770
|
+
def streams; end
|
771
|
+
end
|
772
|
+
|
773
|
+
class ActionCable::Channel::ConnectionStub
|
774
|
+
def initialize(identifiers = T.unsafe(nil)); end
|
775
|
+
|
776
|
+
def identifiers; end
|
777
|
+
def logger; end
|
778
|
+
def subscriptions; end
|
779
|
+
def transmissions; end
|
780
|
+
def transmit(cable_message); end
|
781
|
+
end
|
782
|
+
|
783
|
+
class ActionCable::Channel::NonInferrableChannelError < ::StandardError
|
784
|
+
def initialize(name); end
|
785
|
+
end
|
786
|
+
|
787
|
+
module ActionCable::Connection::Assertions
|
788
|
+
def assert_reject_connection(&block); end
|
789
|
+
end
|
790
|
+
|
791
|
+
class ActionCable::Connection::NonInferrableConnectionError < ::StandardError
|
792
|
+
def initialize(name); end
|
793
|
+
end
|
794
|
+
|
795
|
+
module ActionCable::Connection::TestConnection
|
796
|
+
def initialize(request); end
|
797
|
+
|
798
|
+
def logger; end
|
799
|
+
def request; end
|
800
|
+
end
|
801
|
+
|
802
|
+
class ActionCable::Connection::TestCookieJar < ::ActiveSupport::HashWithIndifferentAccess
|
803
|
+
def encrypted; end
|
804
|
+
def signed; end
|
805
|
+
end
|
806
|
+
|
807
|
+
class ActionCable::Connection::TestRequest < ::ActionDispatch::TestRequest
|
808
|
+
def cookie_jar; end
|
809
|
+
def cookie_jar=(_); end
|
810
|
+
def session; end
|
811
|
+
def session=(_); end
|
812
|
+
end
|
813
|
+
|
814
|
+
class ActionCable::SubscriptionAdapter::Async < ::ActionCable::SubscriptionAdapter::Inline
|
815
|
+
|
816
|
+
private
|
817
|
+
|
818
|
+
def new_subscriber_map; end
|
819
|
+
end
|
820
|
+
|
821
|
+
class ActionCable::SubscriptionAdapter::Async::AsyncSubscriberMap < ::ActionCable::SubscriptionAdapter::SubscriberMap
|
822
|
+
def initialize(event_loop); end
|
823
|
+
|
824
|
+
def add_subscriber(*_); end
|
825
|
+
def invoke_callback(*_); end
|
826
|
+
end
|
827
|
+
|
828
|
+
class ActionCable::SubscriptionAdapter::Inline < ::ActionCable::SubscriptionAdapter::Base
|
829
|
+
def initialize(*_); end
|
830
|
+
|
831
|
+
def broadcast(channel, payload); end
|
832
|
+
def shutdown; end
|
833
|
+
def subscribe(channel, callback, success_callback = T.unsafe(nil)); end
|
834
|
+
def unsubscribe(channel, callback); end
|
835
|
+
|
836
|
+
private
|
837
|
+
|
838
|
+
def new_subscriber_map; end
|
839
|
+
def subscriber_map; end
|
840
|
+
end
|