rubysky 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +7 -0
  2. data/.gem_rbs_collection/activesupport/7.0/.rbs_meta.yaml +9 -0
  3. data/.gem_rbs_collection/activesupport/7.0/activesupport-7.0.rbs +140 -0
  4. data/.gem_rbs_collection/activesupport/7.0/activesupport-generated.rbs +11950 -0
  5. data/.gem_rbs_collection/activesupport/7.0/activesupport.rbs +583 -0
  6. data/.gem_rbs_collection/activesupport/7.0/manifest.yaml +16 -0
  7. data/.gem_rbs_collection/activesupport/7.0/patch.rbs +55 -0
  8. data/.gem_rbs_collection/ast/2.4/.rbs_meta.yaml +9 -0
  9. data/.gem_rbs_collection/ast/2.4/ast.rbs +73 -0
  10. data/.gem_rbs_collection/concurrent-ruby/1.1/.rbs_meta.yaml +9 -0
  11. data/.gem_rbs_collection/concurrent-ruby/1.1/array.rbs +4 -0
  12. data/.gem_rbs_collection/concurrent-ruby/1.1/executor.rbs +26 -0
  13. data/.gem_rbs_collection/concurrent-ruby/1.1/hash.rbs +4 -0
  14. data/.gem_rbs_collection/concurrent-ruby/1.1/map.rbs +58 -0
  15. data/.gem_rbs_collection/concurrent-ruby/1.1/promises.rbs +249 -0
  16. data/.gem_rbs_collection/concurrent-ruby/1.1/utility/processor_counter.rbs +5 -0
  17. data/.gem_rbs_collection/connection_pool/2.4/.rbs_meta.yaml +9 -0
  18. data/.gem_rbs_collection/connection_pool/2.4/connection_pool.rbs +34 -0
  19. data/.gem_rbs_collection/connection_pool/2.4/manifest.yaml +2 -0
  20. data/.gem_rbs_collection/diff-lcs/1.5/.rbs_meta.yaml +9 -0
  21. data/.gem_rbs_collection/diff-lcs/1.5/diff-lcs.rbs +11 -0
  22. data/.gem_rbs_collection/i18n/1.10/.rbs_meta.yaml +9 -0
  23. data/.gem_rbs_collection/i18n/1.10/backend.rbs +269 -0
  24. data/.gem_rbs_collection/i18n/1.10/i18n.rbs +117 -0
  25. data/.gem_rbs_collection/listen/3.9/.rbs_meta.yaml +9 -0
  26. data/.gem_rbs_collection/listen/3.9/listen.rbs +25 -0
  27. data/.gem_rbs_collection/listen/3.9/listener.rbs +24 -0
  28. data/.gem_rbs_collection/parallel/1.20/.rbs_meta.yaml +9 -0
  29. data/.gem_rbs_collection/parallel/1.20/parallel.rbs +86 -0
  30. data/.gem_rbs_collection/parser/3.2/.rbs_meta.yaml +9 -0
  31. data/.gem_rbs_collection/parser/3.2/manifest.yaml +7 -0
  32. data/.gem_rbs_collection/parser/3.2/parser.rbs +104 -0
  33. data/.gem_rbs_collection/parser/3.2/polyfill.rbs +4 -0
  34. data/.gem_rbs_collection/rainbow/3.0/.rbs_meta.yaml +9 -0
  35. data/.gem_rbs_collection/rainbow/3.0/global.rbs +7 -0
  36. data/.gem_rbs_collection/rainbow/3.0/presenter.rbs +209 -0
  37. data/.gem_rbs_collection/rainbow/3.0/rainbow.rbs +5 -0
  38. data/.gem_rbs_collection/rake/13.0/.rbs_meta.yaml +9 -0
  39. data/.gem_rbs_collection/rake/13.0/manifest.yaml +2 -0
  40. data/.gem_rbs_collection/rake/13.0/rake.rbs +28 -0
  41. data/.gem_rbs_collection/regexp_parser/2.8/.rbs_meta.yaml +9 -0
  42. data/.gem_rbs_collection/regexp_parser/2.8/regexp_parser.rbs +17 -0
  43. data/.gem_rbs_collection/rubocop/1.57/.rbs_meta.yaml +9 -0
  44. data/.gem_rbs_collection/rubocop/1.57/rubocop.rbs +34 -0
  45. data/.gem_rbs_collection/rubocop-ast/1.30/.rbs_meta.yaml +9 -0
  46. data/.gem_rbs_collection/rubocop-ast/1.30/rubocop-ast.rbs +15 -0
  47. data/.gem_rbs_collection/tzinfo/2.0/.rbs_meta.yaml +9 -0
  48. data/.gem_rbs_collection/tzinfo/2.0/manifest.yaml +7 -0
  49. data/.gem_rbs_collection/tzinfo/2.0/tzinfo.rbs +601 -0
  50. data/.rspec +3 -0
  51. data/.rubocop.yml +18 -0
  52. data/CHANGELOG.md +5 -0
  53. data/CODE_OF_CONDUCT.md +132 -0
  54. data/LICENSE.txt +21 -0
  55. data/README.md +39 -0
  56. data/Rakefile +12 -0
  57. data/Steepfile +32 -0
  58. data/lib/rubysky/client.rb +40 -0
  59. data/lib/rubysky/post.rb +15 -0
  60. data/lib/rubysky/raw/client.rb +133 -0
  61. data/lib/rubysky/raw/did_doc.rb +15 -0
  62. data/lib/rubysky/raw/embed.rb +18 -0
  63. data/lib/rubysky/raw/post.rb +29 -0
  64. data/lib/rubysky/raw/session.rb +41 -0
  65. data/lib/rubysky/version.rb +5 -0
  66. data/lib/rubysky.rb +17 -0
  67. data/rbs_collection.lock.yaml +232 -0
  68. data/rbs_collection.yaml +18 -0
  69. data/sig/rubysky.rbs +101 -0
  70. metadata +129 -0
@@ -0,0 +1,73 @@
1
+ module AST
2
+ interface _ToAst
3
+ def to_ast: () -> Node
4
+ end
5
+
6
+ interface _ToSym
7
+ def to_sym: () -> Symbol
8
+ end
9
+
10
+ class Node
11
+ public
12
+
13
+ attr_reader children: Array[untyped]
14
+ attr_reader hash: String
15
+ attr_reader type: Symbol
16
+
17
+ alias + concat
18
+
19
+ alias << append
20
+
21
+ def ==: (untyped other) -> bool
22
+
23
+ def append: (untyped element) -> self
24
+
25
+ alias clone dup
26
+
27
+ def concat: (_ToA[untyped] array) -> self
28
+
29
+ def dup: () -> self
30
+
31
+ def eql?: (untyped other) -> bool
32
+
33
+ def inspect: (?Integer indent) -> String
34
+
35
+ alias to_a children
36
+
37
+ def to_ast: () -> self
38
+
39
+ alias to_s to_sexp
40
+
41
+ def to_sexp: (?Integer indent) -> String
42
+
43
+ def to_sexp_array: () -> Array[untyped]
44
+
45
+ def updated: (?_ToSym? `type`, ?_ToA[untyped]? children, ?Hash[Symbol, untyped]? properties) -> self
46
+
47
+ private
48
+
49
+ def initialize: (_ToSym `type`, ?_ToA[untyped]? children, ?Hash[Symbol, untyped] properties) -> void
50
+
51
+ alias original_dup dup
52
+ end
53
+
54
+ class Processor
55
+ include Mixin
56
+
57
+ module Mixin
58
+ public
59
+
60
+ def handler_missing: (Node node) -> Node?
61
+
62
+ def process: (_ToAst? node) -> Node?
63
+
64
+ def process_all: (Array[_ToAst] nodes) -> Array[Node]
65
+ end
66
+ end
67
+
68
+ module Sexp
69
+ public
70
+
71
+ def s: (_ToSym `type`, *untyped children) -> Node
72
+ end
73
+ end
@@ -0,0 +1,9 @@
1
+ ---
2
+ name: concurrent-ruby
3
+ version: '1.1'
4
+ source:
5
+ type: git
6
+ name: ruby/gem_rbs_collection
7
+ revision: 0a6ea105a0afc7eaee4494585a7775f47eea6145
8
+ remote: https://github.com/ruby/gem_rbs_collection.git
9
+ repo_dir: gems
@@ -0,0 +1,4 @@
1
+ module Concurrent
2
+ class Array[T] < ::Array[T]
3
+ end
4
+ end
@@ -0,0 +1,26 @@
1
+ module Concurrent
2
+ module ExecutorService
3
+ interface _Task
4
+ def call: () -> void
5
+ end
6
+
7
+ def post: [A] (*A args) { (*A args) -> void } -> bool
8
+
9
+ def <<: (_Task task) -> bool
10
+
11
+ def can_overflow?: () -> bool
12
+
13
+ def serialized?: () -> bool
14
+ end
15
+
16
+ type executor = ExecutorService | :io | :fast | :immediate
17
+
18
+ def self.executor: (executor executor_identifier) -> ExecutorService
19
+
20
+ def self.global_io_executor: () -> ExecutorService
21
+ def self.global_fast_executor: () -> ExecutorService
22
+ def self.global_immediate_executor: () -> ExecutorService
23
+
24
+ def self.new_io_executor: (?Hash[Symbol, untyped] opts) -> ExecutorService
25
+ def self.new_fast_executor: (?Hash[Symbol, untyped] opts) -> ExecutorService
26
+ end
@@ -0,0 +1,4 @@
1
+ module Concurrent
2
+ class Hash[K, V] < ::Hash[K, V]
3
+ end
4
+ end
@@ -0,0 +1,58 @@
1
+ module Concurrent
2
+ class Map[unchecked out K, unchecked out V]
3
+ def initialize: (?Hash[Symbol, untyped] options) ?{ (self, untyped) -> V } -> void
4
+
5
+ def []: (untyped key) -> V?
6
+ def []=: (K key, V value) -> V
7
+
8
+ alias get []
9
+ alias put []=
10
+
11
+ def fetch: (untyped key) -> V
12
+ | [D] (untyped key, D default_value) -> (V | D)
13
+ | [T, D] (T key) { (T key) -> D } -> (V | D)
14
+
15
+ def fetch_or_store: (untyped key) -> V
16
+ | (K key, V default_value) -> V
17
+ | (K key) { (K key) -> V } -> V
18
+
19
+ def put_if_absent: (K key, V value) -> V?
20
+
21
+ def value?: (untyped value) -> bool
22
+
23
+ def keys: () -> Array[K]
24
+
25
+ def values: () -> Array[V]
26
+
27
+ def each_key: () { (K key) -> void } -> self
28
+
29
+ def each_value: () { (V value) -> void } -> self
30
+
31
+ def each_pair: () { (K key, V value) -> void } -> self
32
+
33
+ alias each each_pair
34
+
35
+ def key: (untyped value) -> K?
36
+
37
+ def empty?: () -> bool
38
+
39
+ def size: () -> Integer
40
+
41
+ def marshal_dump: () -> Hash[K, V]
42
+ def marshal_load: (Hash[K, V] hash) -> self
43
+
44
+ # undef :freeze
45
+
46
+ def inspect: () -> String
47
+
48
+ private
49
+
50
+ def raise_fetch_no_key: () -> bot
51
+
52
+ def initialize_copy: (instance other) -> void
53
+
54
+ def populate_from: (Hash[K, V] hash) -> self
55
+
56
+ def validate_options_hash!: (Hash[Symbol, untyped] options) -> void
57
+ end
58
+ end
@@ -0,0 +1,249 @@
1
+ module Concurrent
2
+ module Promises
3
+ module FactoryMethods
4
+ def any_event: (*(Event | Future[top, top]) futures_and_or_events) -> Event
5
+ def any_event_on: (executor default_executor, *(Event | Future[top, top]) futures_and_or_events) -> Event
6
+
7
+ def any_fulfilled_future: (*Event events) -> Future[nil, bot]
8
+ | [T, E] (*Future[T, E] futures) -> Future[T, E]
9
+ | [T, E] (*(Event | Future[T, E]) futures_and_or_events) -> Future[T | nil, E]
10
+ def any_fulfilled_future_on: (executor default_executor, *Event events) -> Future[nil, bot]
11
+ | [T, E] (executor default_executor, *Future[T, E] futures) -> Future[T, E]
12
+ | [T, E] (executor default_executor, *(Event | Future[T, E]) futures_and_or_events) -> Future[T | nil, E]
13
+
14
+ def any_resolved_future: (*Event events) -> Future[nil, bot]
15
+ | [T, E] (*Future[T, E] futures) -> Future[T, E]
16
+ | [T, E] (*(Event | Future[T, E]) futures_and_or_events) -> Future[T | nil, E]
17
+ alias any any_resolved_future
18
+ def any_resolved_future_on: (executor default_executor, *Event events) -> Future[nil, bot]
19
+ | [T, E] (executor default_executor, *Future[T, E] futures) -> Future[T, E]
20
+ | [T, E] (executor default_executor, *(Event | Future[T, E]) futures_and_or_events) -> Future[T | nil, E]
21
+
22
+ def default_executor: () -> executor
23
+
24
+ def delay: () -> Event
25
+ | [A, T] (*A args) { (*A args) -> T } -> Future[T, Exception]
26
+ def delay_on: (executor default_executor) -> Event
27
+ | [A, T] (executor default_executor, *A args) { (*A args) -> T } -> Future[T, Exception]
28
+
29
+ def fulfilled_future: [T] (T value, ?executor default_executor) -> Future[T, bot]
30
+
31
+ def future: [A, T] (*A args) { (*A args) -> T } -> Future[T, Exception]
32
+ def future_on: [A, T] (executor default_executor, *A args) { (*A args) -> T } -> Future[T, Exception]
33
+
34
+ def make_future: (nil, ?executor default_executor) -> Event
35
+ | [X < AbstractEventFuture] (X event_or_future, ?executor default_executor) -> X
36
+ | [E < Exception] (E reason, ?executor default_executor) -> Future[bot, E]
37
+ | [T] (T value, ?executor default_executor) -> Future[T, bot]
38
+
39
+ def rejected_future: [E] (E reason, ?executor default_executor) -> Future[bot, E]
40
+
41
+ def resolvable_event: () -> ResolvableEvent
42
+ def resolvable_event_on: (executor default_executor) -> ResolvableEvent
43
+
44
+ def resolvable_future: () -> ResolvableFuture[untyped, untyped]
45
+ def resolvable_future_on: (executor default_executor) -> ResolvableFuture[untyped, untyped]
46
+
47
+ def resolved_event: (?executor default_executor) -> Event
48
+
49
+ def resolved_future: [T] (true fulfilled, T value, top reason, ?executor default_executor) -> Future[T, bot]
50
+ | [E] (false fulfilled, top value, E reason, ?executor default_executor) -> Future[bot, E]
51
+ | [T, E] (boolish fulfilled, T? value, E? reason, ?executor default_executor) -> Future[T, E]
52
+
53
+ def schedule: (Numeric | Time intended_time) -> Event
54
+ | [A, T] (Numeric | Time intended_time, *A args) { (*A args) -> T } -> Future[T, Exception]
55
+ def schedule_on: (executor default_executor, Numeric | Time intended_time) -> Event
56
+ | [A, T] (executor default_executor, Numeric | Time intended_time, *A args) { (*A args) -> T } -> Future[T, Exception]
57
+
58
+ def zip_events: (*(Event | Future[top, top]) futures_and_or_events) -> Event
59
+ def zip_events_on: (executor default_executor, *(Event | Future[top, top]) futures_and_or_events) -> Event
60
+
61
+ def zip_futures: (*Event events) -> Future[::Array[nil], bot]
62
+ | [T, E] (*Future[T, E] futures) -> Future[::Array[T], ::Array[E]]
63
+ | [T, E] (*(Event | Future[T, E]) futures_and_or_events) -> Future[::Array[T | nil], ::Array[E | nil]]
64
+ alias zip zip_futures
65
+ def zip_futures_on: (executor default_executor, *Event events) -> Future[Array[nil], bot]
66
+ | [T, E] (executor default_executor, *Future[T, E] futures) -> Future[Array[T], Array[E]]
67
+ | [T, E] (executor default_executor, *(Event | Future[T, E]) futures_and_or_events) -> Future[Array[T | nil], Array[E]]
68
+ end
69
+
70
+ extend FactoryMethods
71
+
72
+ class AbstractEventFuture
73
+ def chain: [A, U] (*A args) { (*untyped) -> U } -> Future[U, Exception]
74
+ def chain_on: [A, U] (executor executor, *A args) { (*untyped) -> U } -> Future[U, Exception]
75
+
76
+ def chain_resolvable: (Resolvable resolvable) -> self
77
+ alias tangle chain_resolvable
78
+
79
+ def default_executor: () -> executor
80
+
81
+ def internal_state: () -> Object
82
+
83
+ def on_resolution: [A] (*A args) { (*untyped) -> void } -> self
84
+ def on_resolution!: [A] (*A args) { (*untyped) -> void } -> self
85
+ def on_resolution_using: [A] (executor executor, *A args) { (*untyped) -> void } -> self
86
+
87
+ def resolved?: () -> bool
88
+
89
+ def pending?: () -> bool
90
+
91
+ def state: () -> Symbol
92
+
93
+ def touch: () -> self
94
+
95
+ def wait: (?nil) -> self
96
+ | (Numeric timeout) -> bool
97
+ end
98
+
99
+ class Event < AbstractEventFuture
100
+ def any: (Event | Future[top, top] event_or_future) -> Event
101
+ alias | any
102
+
103
+ def delay: () -> Event
104
+
105
+ def schedule: (Numeric | Time intended_time) -> Event
106
+
107
+ def to_event: () -> self
108
+
109
+ def to_future: () -> Future[nil, bot]
110
+
111
+ def with_default_executor: (executor executor) -> Event
112
+
113
+ def zip: (Event event) -> Event
114
+ | [T, E] (Future[T, E] future) -> Future[T, E]
115
+ alias & zip
116
+
117
+
118
+ ## Following methods are actually defined in the base class and have specific types for Event
119
+
120
+ def chain: [A, U] (*A args) { (*A args) -> U } -> Future[U, Exception]
121
+ def chain_on: [A, U] (executor executor, *A args) { (*A args) -> U } -> Future[U, Exception]
122
+
123
+ def on_resolution: [A] (*A args) { (*A args) -> void } -> self
124
+ def on_resolution!: [A] (*A args) { (*A args) -> void } -> self
125
+ def on_resolution_using: [A] (executor executor, *A args) { (*A args) -> void } -> self
126
+
127
+ def state: () -> (:pending | :resolved)
128
+ end
129
+
130
+ class Future[out T, out E] < AbstractEventFuture
131
+ def any: (Event event) -> Future[T | nil, E]
132
+ | [T2, E2] (Future[T2, E2] future) -> Future[T | T2, E | E2]
133
+ alias | any
134
+
135
+ def delay: () -> Future[T, E]
136
+
137
+ def exception: () -> Exception # TODO: Return type can be narrowed to E when E <: Exception
138
+
139
+ def flat_event: () -> Event
140
+
141
+ def flat_future: (?Integer level) -> untyped # TODO: Valid only if T <: Future[top, top]
142
+ alias flat flat_future
143
+
144
+ def fulfilled?: () -> bool
145
+
146
+ def on_fulfillment: [A] (*A args) { (T value, *A args) -> void } -> self
147
+ def on_fulfillment!: [A] (*A args) { (T value, *A args) -> void } -> self
148
+ def on_fulfillment_using: [A] (executor executor, *A args) { (T value, A args) -> void } -> self
149
+
150
+ def on_rejection: [A] (*A args) { (E reason, *A args) -> void } -> self
151
+ def on_rejection!: [A] (*A args) { (E reason, *A args) -> void } -> self
152
+ def on_rejection_using: [A] (executor executor, *A args) { (E reason, A args) -> void } -> self
153
+
154
+ def reason: (?Numeric timeout) -> (E | nil)
155
+ | [R] (Numeric timeout, R timeout_value) -> (E | R | nil)
156
+
157
+ def rejected?: () -> bool
158
+
159
+ def rescue: [A, U] (*A args) { (E reason, *A args) -> U } -> Future[U, Exception]
160
+ def rescue_on: [A, U] (executor executor, *A args) { (E reason, *A args) -> U } -> Future[U, Exception]
161
+
162
+ def result: (?nil) -> ([true, T, nil] | [false, nil, E])
163
+ | (Numeric timeout) -> ([true, T, nil] | [false, nil, E] | nil)
164
+
165
+ def run: (?^(untyped) -> Future[untyped, untyped]? run_test) -> Future[untyped, untyped] # TODO: Any specific type?
166
+
167
+ def schedule: (Numeric | Time intended_time) -> Future[T, E]
168
+
169
+ def then: [A, U] (*A args) { (T value, *A args) -> U } -> Future[U, E | Exception]
170
+ def then_on: [A, U] (executor executor, *A args) { (T value, *A args) -> U } -> Future[U, E | Exception]
171
+
172
+ def to_event: () -> Event
173
+
174
+ def to_future: () -> self
175
+
176
+ def value: (?Numeric timeout) -> (T | nil)
177
+ | [R] (Numeric timeout, R timeout_value) -> (T | R | nil)
178
+ def value!: (?nil) -> T
179
+ | (Numeric timeout) -> (T | nil)
180
+ | [R] (Numeric timeout, R timeout_value) -> (T | R | nil)
181
+
182
+ def wait!: (?nil) -> self
183
+ | (Numeric timeout) -> bool
184
+
185
+ def with_default_executor: (executor executor) -> Future[T, E]
186
+
187
+ def zip: (Event event) -> Future[T, E]
188
+ | [T2, E2] (Future[T2, E2] future) -> Future[[T, T2], [E, E2]]
189
+ alias & zip
190
+
191
+
192
+ ## Following methods are actually defined in the base class and have specific types for Future
193
+
194
+ def chain: [A, U] (*A args) { (bool fulfilled, T? value, E? reason, *A args) -> U } -> Future[U, Exception]
195
+ def chain_on: [A, U] (executor executor, *A args) { (bool fulfilled, T? value, E? reason, *A args) -> U } -> Future[U, Exception]
196
+
197
+ def on_resolution: [A] (*A args) { (bool fulfilled, T? value, E? reason, *A args) -> void } -> self
198
+ def on_resolution!: [A] (*A args) { (bool fulfilled, T? value, E? reason, *A args) -> void } -> self
199
+ def on_resolution_using: [A] (executor executor, *A args) { (bool fulfilled, T? value, E? reason, *A args) -> void } -> self
200
+
201
+ def state: () -> (:pending | :fulfilled | :rejected)
202
+ end
203
+
204
+ module Resolvable
205
+ end
206
+
207
+ class ResolvableEvent < Event
208
+ include Resolvable
209
+
210
+ def resolve: (?true raise_on_reassign, ?boolish reserved) -> self
211
+ | (boolish raise_on_reassign, ?boolish reserved) -> (self | false)
212
+
213
+ def wait: (Numeric timeout, boolish resolve_on_timeout) -> bool
214
+ | ...
215
+
216
+ def with_hidden_resolvable: () -> Event
217
+ end
218
+
219
+ class ResolvableFuture[T, E] < Future[T, E] # Note: ResolvableFuture is invariant on T and E
220
+ include Resolvable
221
+
222
+ def evalute_to: [A] (*A args) { (*A args) -> T } -> self # TODO: Unsound unless E :> Exception
223
+ def evalute_to!: [A] (*A args) { (*A args) -> T } -> self # TODO: ditto
224
+
225
+ def fulfill: (T value, ?true raise_on_reassign, ?boolish reserved) -> self
226
+ | (T value, boolish raise_on_reassign, ?boolish reserved) -> (self | false)
227
+
228
+ def reason: [R] (Numeric timeout, R timeout_value, [boolish, T?, E?] resolve_on_timeout) -> (E | R | nil)
229
+ | ...
230
+
231
+ def reject: (E reason, ?true raise_on_reassign, ?boolish reserved) -> self
232
+ | (E reason, boolish raise_on_reassign, ?boolish reserved) -> (self | false)
233
+
234
+ def resolve: (?boolish fulfilled, ?T? value, ?E? reason, ?true raise_on_reassign, ?boolish reserved) -> self
235
+ | (boolish fulfilled, T? value, E? reason, boolish raise_on_reassign, ?boolish reserved) -> (self | false)
236
+
237
+ def result: (Numeric timeout, [boolish, T?, E?] resolve_on_timeout) -> ([true, T, nil] | [false, nil, E] | nil)
238
+ | ...
239
+
240
+ def value: [R] (Numeric timeout, R timeout_value, [boolish, T?, E?] resolve_on_timeout) -> (T | R | nil)
241
+ | ...
242
+
243
+ def value!: [R] (Numeric timeout, R timeout_value, [boolish, T?, E?] resolve_on_timeout) -> (T | R | nil)
244
+ | ...
245
+
246
+ def with_hidden_resolvable: () -> Future[T, E]
247
+ end
248
+ end
249
+ end
@@ -0,0 +1,5 @@
1
+ module Concurrent
2
+ def self.physical_processor_count: () -> Integer
3
+
4
+ def self.processor_count: () -> Integer
5
+ end
@@ -0,0 +1,9 @@
1
+ ---
2
+ name: connection_pool
3
+ version: '2.4'
4
+ source:
5
+ type: git
6
+ name: ruby/gem_rbs_collection
7
+ revision: 0a6ea105a0afc7eaee4494585a7775f47eea6145
8
+ remote: https://github.com/ruby/gem_rbs_collection.git
9
+ repo_dir: gems
@@ -0,0 +1,34 @@
1
+ class ConnectionPool[T]
2
+ class Error < ::RuntimeError
3
+ end
4
+
5
+ class PoolShuttingDownError < ::ConnectionPool::Error
6
+ end
7
+
8
+ class TimeoutError < ::Timeout::Error
9
+ end
10
+
11
+ class Wrapper[T]
12
+ def initialize: (pool: ConnectionPool[T]) -> void
13
+ | (?size: Integer, ?timeout: Numeric, ?auto_reload_after_fork: bool) { () -> T } -> void
14
+ def wrapped_pool: () -> ConnectionPool[T]
15
+ def with: [A] () { (T) -> A } -> A
16
+ def pool_shutdown: () { (T) -> void } -> void
17
+ def pool_size: () -> Integer
18
+ def pool_available: () -> Integer
19
+ end
20
+
21
+ def initialize: (?size: Integer, ?timeout: Numeric, ?auto_reload_after_fork: bool) { () -> T } -> void
22
+ def with: [A] (?timeout: Numeric) { (T) -> A } -> A
23
+ def checkout: (?timeout: Numeric) -> T
24
+ def checkin: (?force: bool) -> void
25
+ def shutdown: () { (T) -> void } -> void
26
+ def reload: () { (T) -> void } -> void
27
+
28
+ attr_reader size: Integer
29
+ attr_reader auto_reload_after_fork: bool
30
+
31
+ def available: () -> Integer
32
+
33
+ alias then with
34
+ end
@@ -0,0 +1,2 @@
1
+ rdependencies:
2
+ - name: timeout
@@ -0,0 +1,9 @@
1
+ ---
2
+ name: diff-lcs
3
+ version: '1.5'
4
+ source:
5
+ type: git
6
+ name: ruby/gem_rbs_collection
7
+ revision: 0a6ea105a0afc7eaee4494585a7775f47eea6145
8
+ remote: https://github.com/ruby/gem_rbs_collection.git
9
+ repo_dir: gems
@@ -0,0 +1,11 @@
1
+ module Diff
2
+ end
3
+
4
+ module Diff::LCS
5
+ def self.LCS: (Array[String], Array[String]) -> Array[String]
6
+ | (String, String) -> Array[String]
7
+ def self.diff: (Array[String], Array[String]) -> Array[String]
8
+ | (String, String) -> Array[String]
9
+
10
+ def self.patch!: (Array[String], Array[String]) -> String
11
+ end
@@ -0,0 +1,9 @@
1
+ ---
2
+ name: i18n
3
+ version: '1.10'
4
+ source:
5
+ type: git
6
+ name: ruby/gem_rbs_collection
7
+ revision: 0a6ea105a0afc7eaee4494585a7775f47eea6145
8
+ remote: https://github.com/ruby/gem_rbs_collection.git
9
+ repo_dir: gems