sorbet-runtime 0.5.5944 → 0.5.5973
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/types/enum.rb +1 -1
- data/lib/types/private/sealed.rb +15 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5383e963a03c14e2d2bdc94a08bf6f6eeb5cb13e33c3fdd66946aaf23bb8d5dd
|
4
|
+
data.tar.gz: c9e33313809f5fe8398153e6e6f728c5197b8b581d918c0410b6c2b830ee5d81
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 733f96c2730d8b5503428ff6411af98633f56771d66dbff28892312d5691bbf0d62b81b3d75926573270319d6ef9cc6840c5448007c20dc53512694613a022a9
|
7
|
+
data.tar.gz: e442fbc0ca39cf499eec80723ed8ee48878ed8f6d01118f05f99b31ff6f042e752b2eb6d187c0fd59bb6681c13ae0fd2451bfc767078c2df914db4ad062fd948
|
data/lib/types/enum.rb
CHANGED
@@ -251,7 +251,7 @@ class T::Enum
|
|
251
251
|
|
252
252
|
|
253
253
|
sig {params(serialized_val: SerializedVal).void}
|
254
|
-
|
254
|
+
def initialize(serialized_val=nil)
|
255
255
|
raise 'T::Enum is abstract' if self.class == T::Enum
|
256
256
|
if !self.class.started_initializing?
|
257
257
|
raise "Must instantiate all enum values of #{self.class} inside 'enums do'."
|
data/lib/types/private/sealed.rb
CHANGED
@@ -7,6 +7,11 @@ module T::Private::Sealed
|
|
7
7
|
super
|
8
8
|
this_line = Kernel.caller.find {|line| !line.match(/in `inherited'$/)}
|
9
9
|
T::Private::Sealed.validate_inheritance(this_line, self, 'inherited')
|
10
|
+
@sorbet_sealed_module_all_subclasses << other
|
11
|
+
end
|
12
|
+
|
13
|
+
def sealed_subclasses
|
14
|
+
@sorbet_sealed_module_all_subclasses
|
10
15
|
end
|
11
16
|
end
|
12
17
|
|
@@ -15,12 +20,21 @@ module T::Private::Sealed
|
|
15
20
|
super
|
16
21
|
this_line = Kernel.caller.find {|line| !line.match(/in `included'$/)}
|
17
22
|
T::Private::Sealed.validate_inheritance(this_line, self, 'included')
|
23
|
+
@sorbet_sealed_module_all_subclasses << other
|
18
24
|
end
|
19
25
|
|
20
26
|
def extended(other)
|
21
27
|
super
|
22
28
|
this_line = Kernel.caller.find {|line| !line.match(/in `extended'$/)}
|
23
29
|
T::Private::Sealed.validate_inheritance(this_line, self, 'extended')
|
30
|
+
@sorbet_sealed_module_all_subclasses << other
|
31
|
+
end
|
32
|
+
|
33
|
+
def sealed_subclasses
|
34
|
+
# this will freeze the set so that you can never get into a
|
35
|
+
# state where you use the subclasses list and then something
|
36
|
+
# else will add to it
|
37
|
+
@sorbet_sealed_module_all_subclasses.freeze
|
24
38
|
end
|
25
39
|
end
|
26
40
|
|
@@ -39,6 +53,7 @@ module T::Private::Sealed
|
|
39
53
|
raise "Couldn't determine declaration file for sealed class."
|
40
54
|
end
|
41
55
|
mod.instance_variable_set(:@sorbet_sealed_module_decl_file, decl_file)
|
56
|
+
mod.instance_variable_set(:@sorbet_sealed_module_all_subclasses, Set.new)
|
42
57
|
end
|
43
58
|
|
44
59
|
def self.sealed_module?(mod)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sorbet-runtime
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.5973
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stripe
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-10-
|
11
|
+
date: 2020-10-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|