m2m_keygen 0.4.9 → 0.5.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.
Files changed (174) hide show
  1. checksums.yaml +4 -4
  2. data/.overcommit.yml +4 -7
  3. data/.rubocop.yml +19 -16
  4. data/.ruby-version +1 -1
  5. data/.streerc +1 -0
  6. data/.tool-versions +1 -1
  7. data/CHANGELOG.md +60 -1
  8. data/Gemfile +2 -2
  9. data/Gemfile.lock +135 -158
  10. data/README.md +64 -78
  11. data/docs/MIGRATING.md +69 -0
  12. data/docs/SPEC.md +245 -0
  13. data/examples/nonce_store/postgres.rb +40 -0
  14. data/examples/nonce_store/redis.rb +23 -0
  15. data/gemfiles/rack_2.gemfile +5 -0
  16. data/gemfiles/rack_3.gemfile +5 -0
  17. data/lib/m2m_keygen/canonicalizer.rb +57 -0
  18. data/lib/m2m_keygen/nonce_store/disabled.rb +19 -0
  19. data/lib/m2m_keygen/nonce_store/memory.rb +64 -0
  20. data/lib/m2m_keygen/nonce_store.rb +18 -0
  21. data/lib/m2m_keygen/rack_validator.rb +72 -19
  22. data/lib/m2m_keygen/request_signer/signed_request.rb +10 -0
  23. data/lib/m2m_keygen/request_signer.rb +118 -0
  24. data/lib/m2m_keygen/signature.rb +41 -39
  25. data/lib/m2m_keygen/types/params_type.rb +6 -17
  26. data/lib/m2m_keygen/version.rb +1 -1
  27. data/lib/m2m_keygen.rb +6 -0
  28. data/m2m_keygen.gemspec +12 -14
  29. data/sorbet/config +1 -0
  30. data/sorbet/rbi/gems/.gitattributes +1 -0
  31. data/sorbet/rbi/gems/{ast@2.4.2.rbi → ast@2.4.3.rbi} +45 -79
  32. data/sorbet/rbi/gems/{benchmark@0.2.0.rbi → benchmark@0.5.0.rbi} +91 -58
  33. data/sorbet/rbi/gems/bundler-audit@0.9.3.rbi +397 -0
  34. data/sorbet/rbi/gems/byebug@13.0.0.rbi +3651 -0
  35. data/sorbet/rbi/gems/childprocess@5.1.0.rbi +336 -0
  36. data/sorbet/rbi/gems/concurrent-ruby@1.3.7.rbi +384 -0
  37. data/sorbet/rbi/gems/{diff-lcs@1.5.0.rbi → diff-lcs@1.6.2.rbi} +189 -199
  38. data/sorbet/rbi/gems/{docile@1.4.0.rbi → docile@1.4.1.rbi} +147 -147
  39. data/sorbet/rbi/gems/dotenv@3.2.0.rbi +267 -0
  40. data/sorbet/rbi/gems/erubi@1.13.1.rbi +155 -0
  41. data/sorbet/rbi/gems/{faker@2.22.0.rbi → faker@3.8.0.rbi} +8468 -3829
  42. data/sorbet/rbi/gems/{ffi@1.15.5.rbi → ffi@1.17.4.rbi} +1 -0
  43. data/sorbet/rbi/gems/{formatador@1.1.0.rbi → formatador@1.2.3.rbi} +1 -0
  44. data/sorbet/rbi/gems/{guard@2.18.0.rbi → guard@2.20.1.rbi} +1 -0
  45. data/sorbet/rbi/gems/{i18n@1.12.0.rbi → i18n@1.15.2.rbi} +687 -827
  46. data/sorbet/rbi/gems/io-console@0.8.2.rbi +9 -0
  47. data/sorbet/rbi/gems/{json@2.6.2.rbi → json@2.20.0.rbi} +994 -252
  48. data/sorbet/rbi/gems/language_server-protocol@3.17.0.5.rbi +9 -0
  49. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +189 -0
  50. data/sorbet/rbi/gems/listen@3.10.0.rbi +9 -0
  51. data/sorbet/rbi/gems/logger@1.7.0.rbi +896 -0
  52. data/sorbet/rbi/gems/{lumberjack@1.2.8.rbi → lumberjack@1.4.2.rbi} +1 -0
  53. data/sorbet/rbi/gems/{method_source@1.0.0.rbi → method_source@1.1.0.rbi} +111 -90
  54. data/sorbet/rbi/gems/{overcommit@0.59.1.rbi → overcommit@0.71.0.rbi} +503 -647
  55. data/sorbet/rbi/gems/parallel@2.1.0.rbi +321 -0
  56. data/sorbet/rbi/gems/parser@3.3.11.1.rbi +5229 -0
  57. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +878 -0
  58. data/sorbet/rbi/gems/prism@1.9.0.rbi +42224 -0
  59. data/sorbet/rbi/gems/pry-byebug@3.12.0.rbi +481 -0
  60. data/sorbet/rbi/gems/{pry@0.14.1.rbi → pry@0.16.0.rbi} +2567 -3550
  61. data/sorbet/rbi/gems/{racc@1.6.0.rbi → racc@1.8.1.rbi} +54 -40
  62. data/sorbet/rbi/gems/rack@3.2.6.rbi +4653 -0
  63. data/sorbet/rbi/gems/{rake@13.0.6.rbi → rake@13.4.2.rbi} +963 -732
  64. data/sorbet/rbi/gems/{rb-inotify@0.10.1.rbi → rb-inotify@0.11.1.rbi} +1 -0
  65. data/sorbet/rbi/gems/rbi@0.3.14.rbi +5519 -0
  66. data/sorbet/rbi/gems/rbs@4.0.3.rbi +6908 -0
  67. data/sorbet/rbi/gems/regexp_parser@2.12.0.rbi +3398 -0
  68. data/sorbet/rbi/gems/reline@0.6.3.rbi +2446 -0
  69. data/sorbet/rbi/gems/require-hooks@0.4.0.rbi +152 -0
  70. data/sorbet/rbi/gems/{rexml@3.2.5.rbi → rexml@3.4.4.rbi} +1085 -894
  71. data/sorbet/rbi/gems/rspec-core@3.13.6.rbi +9475 -0
  72. data/sorbet/rbi/gems/rspec-expectations@3.13.5.rbi +6108 -0
  73. data/sorbet/rbi/gems/rspec-mocks@3.13.8.rbi +4787 -0
  74. data/sorbet/rbi/gems/rspec-support@3.13.7.rbi +1274 -0
  75. data/sorbet/rbi/gems/rspec@3.13.2.rbi +15 -0
  76. data/sorbet/rbi/gems/rspec_in_context@1.2.2.rbi +294 -0
  77. data/sorbet/rbi/gems/rubocop-ast@1.49.1.rbi +7140 -0
  78. data/sorbet/rbi/gems/rubocop-faker@1.3.0.rbi +88 -0
  79. data/sorbet/rbi/gems/rubocop-performance@1.26.1.rbi +3403 -0
  80. data/sorbet/rbi/gems/rubocop-sorbet@0.12.0.rbi +2448 -0
  81. data/sorbet/rbi/gems/rubocop@1.88.1.rbi +63103 -0
  82. data/sorbet/rbi/gems/ruby-lsp@0.26.9.rbi +28 -0
  83. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +988 -0
  84. data/sorbet/rbi/gems/rubydex@0.2.7.rbi +836 -0
  85. data/sorbet/rbi/gems/simplecov-html@0.13.2.rbi +90 -0
  86. data/sorbet/rbi/gems/{simplecov@0.21.2.rbi → simplecov@0.22.0.rbi} +438 -578
  87. data/sorbet/rbi/gems/spoom@1.8.2.rbi +6691 -0
  88. data/sorbet/rbi/gems/syntax_tree@6.3.0.rbi +22090 -0
  89. data/sorbet/rbi/gems/tapioca@0.19.2.rbi +3597 -0
  90. data/sorbet/rbi/gems/{thor@1.2.1.rbi → thor@1.5.0.rbi} +1085 -1171
  91. data/sorbet/rbi/gems/tsort@0.2.0.rbi +389 -0
  92. data/sorbet/rbi/gems/unicode-display_width@3.2.0.rbi +130 -0
  93. data/sorbet/rbi/gems/unicode-emoji@4.2.0.rbi +332 -0
  94. data/sorbet/rbi/gems/{yard-sorbet@0.7.0.rbi → yard-sorbet@0.9.0.rbi} +142 -99
  95. data/sorbet/rbi/gems/{yard@0.9.28.rbi → yard@0.9.44.rbi} +5350 -6316
  96. data/sorbet/rbi/gems/zeitwerk@2.8.2.rbi +1178 -0
  97. metadata +105 -111
  98. data/.prettierrc.js +0 -4
  99. data/docs/M2mKeygen/Error.html +0 -135
  100. data/docs/M2mKeygen/ParamsEncoder.html +0 -321
  101. data/docs/M2mKeygen/RackValidator.html +0 -533
  102. data/docs/M2mKeygen/Signature.html +0 -680
  103. data/docs/M2mKeygen/Types.html +0 -147
  104. data/docs/M2mKeygen.html +0 -157
  105. data/docs/_index.html +0 -182
  106. data/docs/class_list.html +0 -51
  107. data/docs/css/common.css +0 -1
  108. data/docs/css/full_list.css +0 -58
  109. data/docs/css/style.css +0 -497
  110. data/docs/file.README.html +0 -230
  111. data/docs/file_list.html +0 -56
  112. data/docs/frames.html +0 -17
  113. data/docs/index.html +0 -230
  114. data/docs/js/app.js +0 -314
  115. data/docs/js/full_list.js +0 -216
  116. data/docs/js/jquery.js +0 -4
  117. data/docs/method_list.html +0 -139
  118. data/docs/top-level-namespace.html +0 -110
  119. data/lib/m2m_keygen/params_encoder.rb +0 -56
  120. data/package.json +0 -12
  121. data/sig/m2m_keygen.rbs +0 -4
  122. data/sorbet/rbi/gems/activesupport@7.0.3.1.rbi +0 -18608
  123. data/sorbet/rbi/gems/backport@1.2.0.rbi +0 -522
  124. data/sorbet/rbi/gems/bundler-audit@0.9.1.rbi +0 -308
  125. data/sorbet/rbi/gems/byebug@11.1.3.rbi +0 -3603
  126. data/sorbet/rbi/gems/childprocess@4.1.0.rbi +0 -401
  127. data/sorbet/rbi/gems/concurrent-ruby@1.1.10.rbi +0 -11581
  128. data/sorbet/rbi/gems/dotenv@2.8.1.rbi +0 -234
  129. data/sorbet/rbi/gems/e2mmap@0.1.0.rbi +0 -8
  130. data/sorbet/rbi/gems/haml@5.2.2.rbi +0 -3190
  131. data/sorbet/rbi/gems/jaro_winkler@1.5.4.rbi +0 -19
  132. data/sorbet/rbi/gems/kramdown-parser-gfm@1.1.0.rbi +0 -133
  133. data/sorbet/rbi/gems/kramdown@2.4.0.rbi +0 -3261
  134. data/sorbet/rbi/gems/listen@3.7.1.rbi +0 -1181
  135. data/sorbet/rbi/gems/minitest@5.16.3.rbi +0 -1459
  136. data/sorbet/rbi/gems/nokogiri@1.13.8.rbi +0 -6514
  137. data/sorbet/rbi/gems/parallel@1.22.1.rbi +0 -277
  138. data/sorbet/rbi/gems/parser@3.1.2.1.rbi +0 -6826
  139. data/sorbet/rbi/gems/prettier@3.2.0.rbi +0 -22
  140. data/sorbet/rbi/gems/prettier_print@0.1.0.rbi +0 -8
  141. data/sorbet/rbi/gems/pry-byebug@3.10.1.rbi +0 -1222
  142. data/sorbet/rbi/gems/rack@2.2.4.rbi +0 -5630
  143. data/sorbet/rbi/gems/rbi@0.0.15.rbi +0 -3007
  144. data/sorbet/rbi/gems/rbs@2.6.0.rbi +0 -8
  145. data/sorbet/rbi/gems/regexp_parser@2.5.0.rbi +0 -3366
  146. data/sorbet/rbi/gems/reverse_markdown@2.1.1.rbi +0 -389
  147. data/sorbet/rbi/gems/rspec-core@3.11.0.rbi +0 -10786
  148. data/sorbet/rbi/gems/rspec-expectations@3.11.0.rbi +0 -8170
  149. data/sorbet/rbi/gems/rspec-mocks@3.11.1.rbi +0 -5385
  150. data/sorbet/rbi/gems/rspec-support@3.11.0.rbi +0 -1746
  151. data/sorbet/rbi/gems/rspec@3.11.0.rbi +0 -187
  152. data/sorbet/rbi/gems/rspec_in_context@1.1.0.3.rbi +0 -1113
  153. data/sorbet/rbi/gems/rubocop-ast@1.21.0.rbi +0 -7044
  154. data/sorbet/rbi/gems/rubocop-faker@1.1.0.rbi +0 -106
  155. data/sorbet/rbi/gems/rubocop-performance@1.14.3.rbi +0 -2982
  156. data/sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi +0 -990
  157. data/sorbet/rbi/gems/rubocop@1.35.1.rbi +0 -52002
  158. data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +0 -1239
  159. data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +0 -219
  160. data/sorbet/rbi/gems/solargraph@0.46.0.rbi +0 -9075
  161. data/sorbet/rbi/gems/spoom@1.1.12.rbi +0 -2369
  162. data/sorbet/rbi/gems/syntax_tree-haml@1.3.1.rbi +0 -8
  163. data/sorbet/rbi/gems/syntax_tree-rbs@0.5.0.rbi +0 -8
  164. data/sorbet/rbi/gems/syntax_tree@3.5.0.rbi +0 -8
  165. data/sorbet/rbi/gems/tapioca@0.9.4.rbi +0 -2946
  166. data/sorbet/rbi/gems/temple@0.8.2.rbi +0 -1712
  167. data/sorbet/rbi/gems/tilt@2.0.11.rbi +0 -742
  168. data/sorbet/rbi/gems/tzinfo@2.0.5.rbi +0 -5914
  169. data/sorbet/rbi/gems/unicode-display_width@2.2.0.rbi +0 -48
  170. data/sorbet/rbi/gems/unparser@0.6.5.rbi +0 -4529
  171. data/sorbet/rbi/gems/webrick@1.7.0.rbi +0 -2553
  172. data/sorbet/rbi/gems/zeitwerk@2.6.0.rbi +0 -867
  173. data/sorbet/rbi/manual.rbi +0 -7
  174. data/yarn.lock +0 -20
@@ -0,0 +1,321 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `parallel` gem.
5
+ # Please instead update this file by running `bin/tapioca gem parallel`.
6
+
7
+
8
+ # pkg:gem/parallel#lib/parallel/version.rb:2
9
+ module Parallel
10
+ class << self
11
+ # pkg:gem/parallel#lib/parallel.rb:256
12
+ def all?(*args, &block); end
13
+
14
+ # pkg:gem/parallel#lib/parallel.rb:251
15
+ def any?(*args, &block); end
16
+
17
+ # pkg:gem/parallel#lib/parallel.rb:247
18
+ def each(array, options = T.unsafe(nil), &block); end
19
+
20
+ # pkg:gem/parallel#lib/parallel.rb:261
21
+ def each_with_index(array, options = T.unsafe(nil), &block); end
22
+
23
+ # pkg:gem/parallel#lib/parallel.rb:320
24
+ def filter_map(*_arg0, **_arg1, &_arg2); end
25
+
26
+ # pkg:gem/parallel#lib/parallel.rb:316
27
+ def flat_map(*_arg0, **_arg1, &_arg2); end
28
+
29
+ # pkg:gem/parallel#lib/parallel.rb:241
30
+ def in_processes(options = T.unsafe(nil), &block); end
31
+
32
+ # pkg:gem/parallel#lib/parallel.rb:225
33
+ def in_threads(options = T.unsafe(nil)); end
34
+
35
+ # pkg:gem/parallel#lib/parallel.rb:265
36
+ def map(source, options = T.unsafe(nil), &block); end
37
+
38
+ # pkg:gem/parallel#lib/parallel.rb:312
39
+ def map_with_index(array, options = T.unsafe(nil), &block); end
40
+
41
+ # Number of physical processor cores on the current system.
42
+ #
43
+ # pkg:gem/parallel#lib/parallel.rb:325
44
+ def physical_processor_count; end
45
+
46
+ # Number of processors seen by the OS or value considering CPU quota if the process is inside a cgroup,
47
+ # used for process scheduling
48
+ #
49
+ # pkg:gem/parallel#lib/parallel.rb:355
50
+ def processor_count; end
51
+
52
+ # pkg:gem/parallel#lib/parallel.rb:359
53
+ def worker_number; end
54
+
55
+ # TODO: this does not work when doing threads in forks, so should remove and yield the number instead if needed
56
+ #
57
+ # pkg:gem/parallel#lib/parallel.rb:364
58
+ def worker_number=(worker_num); end
59
+
60
+ private
61
+
62
+ # pkg:gem/parallel#lib/parallel.rb:397
63
+ def add_progress_bar!(job_factory, options); end
64
+
65
+ # pkg:gem/parallel#lib/parallel.rb:738
66
+ def available_processor_count; end
67
+
68
+ # pkg:gem/parallel#lib/parallel.rb:686
69
+ def call_with_index(item, index, options, &block); end
70
+
71
+ # pkg:gem/parallel#lib/parallel.rb:616
72
+ def create_workers(job_factory, options, &block); end
73
+
74
+ # options is either a Integer or a Hash with :count
75
+ #
76
+ # pkg:gem/parallel#lib/parallel.rb:676
77
+ def extract_count_from_options(options); end
78
+
79
+ # pkg:gem/parallel#lib/parallel.rb:704
80
+ def instrument_finish(item, index, result, options); end
81
+
82
+ # yield results in the order of the input items
83
+ # needs to use `options` to store state between executions
84
+ # needs to use `done` index since a nil result would also be valid
85
+ #
86
+ # pkg:gem/parallel#lib/parallel.rb:713
87
+ def instrument_finish_in_order(item, index, result, options); end
88
+
89
+ # pkg:gem/parallel#lib/parallel.rb:733
90
+ def instrument_start(item, index, options); end
91
+
92
+ # pkg:gem/parallel#lib/parallel.rb:370
93
+ def physical_processor_count_windows; end
94
+
95
+ # pkg:gem/parallel#lib/parallel.rb:651
96
+ def process_incoming_jobs(read, write, job_factory, options, &block); end
97
+
98
+ # pkg:gem/parallel#lib/parallel.rb:526
99
+ def ractor_build(use_port); end
100
+
101
+ # pkg:gem/parallel#lib/parallel.rb:547
102
+ def ractor_result(item, index, result, results, results_mutex, options); end
103
+
104
+ # pkg:gem/parallel#lib/parallel.rb:552
105
+ def ractor_stop(ractor); end
106
+
107
+ # pkg:gem/parallel#lib/parallel.rb:604
108
+ def replace_worker(job_factory, workers, index, options, blk); end
109
+
110
+ # pkg:gem/parallel#lib/parallel.rb:391
111
+ def run(command); end
112
+
113
+ # pkg:gem/parallel#lib/parallel.rb:697
114
+ def with_instrumentation(item, index, options); end
115
+
116
+ # pkg:gem/parallel#lib/parallel.rb:422
117
+ def work_direct(job_factory, options, &block); end
118
+
119
+ # pkg:gem/parallel#lib/parallel.rb:556
120
+ def work_in_processes(job_factory, options, &blk); end
121
+
122
+ # pkg:gem/parallel#lib/parallel.rb:466
123
+ def work_in_ractors(job_factory, options); end
124
+
125
+ # pkg:gem/parallel#lib/parallel.rb:441
126
+ def work_in_threads(job_factory, options, &block); end
127
+
128
+ # pkg:gem/parallel#lib/parallel.rb:624
129
+ def worker(job_factory, options, &block); end
130
+ end
131
+ end
132
+
133
+ # pkg:gem/parallel#lib/parallel.rb:12
134
+ class Parallel::Break < ::StandardError
135
+ # pkg:gem/parallel#lib/parallel.rb:15
136
+ def initialize(value = T.unsafe(nil)); end
137
+
138
+ # marshal_dump that is used for ruby exceptions
139
+ # avoid dumping the cause since nobody needs that and it can include undumpable exceptions
140
+ #
141
+ # pkg:gem/parallel#lib/parallel.rb:22
142
+ def _dump(_depth); end
143
+
144
+ # pkg:gem/parallel#lib/parallel.rb:13
145
+ def value; end
146
+
147
+ class << self
148
+ # marshal_load that is used for ruby exceptions
149
+ #
150
+ # pkg:gem/parallel#lib/parallel.rb:27
151
+ def _load(data); end
152
+ end
153
+ end
154
+
155
+ # pkg:gem/parallel#lib/parallel.rb:9
156
+ class Parallel::DeadWorker < ::StandardError; end
157
+
158
+ # pkg:gem/parallel#lib/parallel.rb:44
159
+ class Parallel::ExceptionWrapper
160
+ # pkg:gem/parallel#lib/parallel.rb:47
161
+ def initialize(exception); end
162
+
163
+ # pkg:gem/parallel#lib/parallel.rb:45
164
+ def exception; end
165
+ end
166
+
167
+ # pkg:gem/parallel#lib/parallel.rb:111
168
+ class Parallel::JobFactory
169
+ # pkg:gem/parallel#lib/parallel.rb:112
170
+ def initialize(source, mutex); end
171
+
172
+ # pkg:gem/parallel#lib/parallel.rb:120
173
+ def next; end
174
+
175
+ # generate item that is sent to workers
176
+ # just index is faster + less likely to blow up with unserializable errors
177
+ #
178
+ # pkg:gem/parallel#lib/parallel.rb:149
179
+ def pack(item, index); end
180
+
181
+ # pkg:gem/parallel#lib/parallel.rb:139
182
+ def size; end
183
+
184
+ # unpack item that is sent to workers
185
+ #
186
+ # pkg:gem/parallel#lib/parallel.rb:154
187
+ def unpack(data); end
188
+
189
+ private
190
+
191
+ # pkg:gem/parallel#lib/parallel.rb:160
192
+ def producer?; end
193
+
194
+ # pkg:gem/parallel#lib/parallel.rb:164
195
+ def queue_wrapper(array); end
196
+ end
197
+
198
+ # pkg:gem/parallel#lib/parallel.rb:32
199
+ class Parallel::Kill < ::Parallel::Break; end
200
+
201
+ # Pluggable wire serializers. Each must respond to `dump(data, io)` /
202
+ # `load(io)` (used directly by Worker) and `dump(data)` / `load(string)`
203
+ # (used by wrappers like Hmac).
204
+ #
205
+ # pkg:gem/parallel#lib/parallel/serializer.rb:9
206
+ module Parallel::Serializer; end
207
+
208
+ # Wraps any inner serializer with a length-prefixed HMAC-SHA256 frame keyed
209
+ # on a per-worker secret generated before fork. Forged frames from a
210
+ # pipe-injector fail verification.
211
+ #
212
+ # pkg:gem/parallel#lib/parallel/serializer.rb:17
213
+ class Parallel::Serializer::Hmac
214
+ # SHA256
215
+ #
216
+ # pkg:gem/parallel#lib/parallel/serializer.rb:22
217
+ def initialize(inner: T.unsafe(nil), secret: T.unsafe(nil)); end
218
+
219
+ # pkg:gem/parallel#lib/parallel/serializer.rb:27
220
+ def dump(data, io); end
221
+
222
+ # pkg:gem/parallel#lib/parallel/serializer.rb:33
223
+ def load(io); end
224
+ end
225
+
226
+ # 32-bit big-endian unsigned int
227
+ #
228
+ # pkg:gem/parallel#lib/parallel/serializer.rb:19
229
+ Parallel::Serializer::Hmac::LENGTH_BYTES = T.let(T.unsafe(nil), Integer)
230
+
231
+ # pkg:gem/parallel#lib/parallel/serializer.rb:18
232
+ Parallel::Serializer::Hmac::LENGTH_FORMAT = T.let(T.unsafe(nil), String)
233
+
234
+ # pkg:gem/parallel#lib/parallel/serializer.rb:20
235
+ Parallel::Serializer::Hmac::MAC_BYTES = T.let(T.unsafe(nil), Integer)
236
+
237
+ # Raw Marshal. Fast but trusts anything written to the pipe — a same-UID
238
+ # attacker that reopens /proc/<pid>/fd/<n> can inject Marshal gadgets (RCE).
239
+ #
240
+ # pkg:gem/parallel#lib/parallel/serializer.rb:12
241
+ Parallel::Serializer::Marshal = Marshal
242
+
243
+ # pkg:gem/parallel#lib/parallel.rb:7
244
+ Parallel::Stop = T.let(T.unsafe(nil), Object)
245
+
246
+ # pkg:gem/parallel#lib/parallel.rb:35
247
+ class Parallel::UndumpableException < ::StandardError
248
+ # pkg:gem/parallel#lib/parallel.rb:38
249
+ def initialize(original); end
250
+
251
+ # pkg:gem/parallel#lib/parallel.rb:36
252
+ def backtrace; end
253
+ end
254
+
255
+ # pkg:gem/parallel#lib/parallel.rb:169
256
+ class Parallel::UserInterruptHandler
257
+ class << self
258
+ # pkg:gem/parallel#lib/parallel.rb:194
259
+ def kill(thing); end
260
+
261
+ # kill all these pids or threads if user presses Ctrl+c
262
+ #
263
+ # pkg:gem/parallel#lib/parallel.rb:174
264
+ def kill_on_ctrl_c(pids, options); end
265
+
266
+ private
267
+
268
+ # pkg:gem/parallel#lib/parallel.rb:218
269
+ def restore_interrupt(old, signal); end
270
+
271
+ # pkg:gem/parallel#lib/parallel.rb:203
272
+ def trap_interrupt(signal); end
273
+ end
274
+ end
275
+
276
+ # pkg:gem/parallel#lib/parallel.rb:170
277
+ Parallel::UserInterruptHandler::INTERRUPT_SIGNAL = T.let(T.unsafe(nil), Symbol)
278
+
279
+ # pkg:gem/parallel#lib/parallel/version.rb:3
280
+ Parallel::VERSION = T.let(T.unsafe(nil), String)
281
+
282
+ # pkg:gem/parallel#lib/parallel/version.rb:3
283
+ Parallel::Version = T.let(T.unsafe(nil), String)
284
+
285
+ # pkg:gem/parallel#lib/parallel.rb:63
286
+ class Parallel::Worker
287
+ # pkg:gem/parallel#lib/parallel.rb:67
288
+ def initialize(read, write, pid, serializer); end
289
+
290
+ # might be passed to started_processes and simultaneously closed by another thread
291
+ # when running in isolation mode, so we have to check if it is closed before closing
292
+ #
293
+ # pkg:gem/parallel#lib/parallel.rb:81
294
+ def close_pipes; end
295
+
296
+ # pkg:gem/parallel#lib/parallel.rb:64
297
+ def pid; end
298
+
299
+ # pkg:gem/parallel#lib/parallel.rb:64
300
+ def read; end
301
+
302
+ # pkg:gem/parallel#lib/parallel.rb:74
303
+ def stop; end
304
+
305
+ # pkg:gem/parallel#lib/parallel.rb:65
306
+ def thread; end
307
+
308
+ # pkg:gem/parallel#lib/parallel.rb:65
309
+ def thread=(_arg0); end
310
+
311
+ # pkg:gem/parallel#lib/parallel.rb:86
312
+ def work(data); end
313
+
314
+ # pkg:gem/parallel#lib/parallel.rb:64
315
+ def write; end
316
+
317
+ private
318
+
319
+ # pkg:gem/parallel#lib/parallel.rb:104
320
+ def wait; end
321
+ end