sorbet-runtime 0.5.5947 → 0.5.5981
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: 6ef024ba1f18a831127692d0a593c97ab174b5565ea24d3ea71f92f039b7e4c5
|
4
|
+
data.tar.gz: 3acb33f46d6f6bffee8a16066b1930d01be3f1c1da8290924a8d2042e6802726
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2ac2dc5dcab95f11d5fcd7aca8bfc34d731fa017b638cedda2995521f1526085122b552d3f2bb3312496170898e3284215237b37d88a14c91e6b143a27a8d5b8
|
7
|
+
data.tar.gz: 3ed25f0734e82849ae495c1b0511bb806ab6c7fe45e3ae186a6e4c25000f1448fb2bfaa5042e5eebbc2c706c5af031db158057b683fe6d2006827474f274ddcd
|
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.5981
|
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-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|