sorbet-runtime 0.5.9248 → 0.5.9258

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/types/types/typed_set.rb +12 -0
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d8929d65a65510ee18a4511677a681442fdd75b36836495df3d06b8028809b54
4
- data.tar.gz: c81dc953cd465737255d80b8a9d9d0a1f40bd454ded6d718a96dcf5e75092c32
3
+ metadata.gz: 95b9cb872fe8ae6316b306945eb32d69cae31f87d7542d96ef0e3cd92c6955fc
4
+ data.tar.gz: 59cb77a96ef8a838c49fa506495d94b4c548d5ed7ed5d41b000d000b23670a6d
5
5
  SHA512:
6
- metadata.gz: 714ed517a90246c445f08569dfc7300b882839ae25c7ef81fd4a321263827049a12f817fc584c92ccdd97b9f7bc07930de93b7c3838fbfb248fe55490e25aaeb
7
- data.tar.gz: f479276f55ee3c26e423ecde331e608291e1aafd2b2b2f1ff1cfb3c2a3515a25d8f07a24d7214e3b32b5ac5da91fb9cd343289d4ebd1e59eae105f456148a5b2
6
+ metadata.gz: 9f2d84052ba670e52e5c245dbb0998fe72d8e83fa8730d9a399a3951845b286f20ff7b75f89688e1e6ff66fe32c4c4dd0fe4fbb5708e24e8790ab57ddb7d52b4
7
+ data.tar.gz: 168869f66b93a304bb74af73d89cd6167fa8d9d289beaea0b6472e84153a90b00372ddc6093115d5c8af94fd9f8d68c6d1ab54d9f6904dc94b7939d51fba7860
@@ -16,15 +16,24 @@ module T::Types
16
16
 
17
17
  # overrides Base
18
18
  def recursively_valid?(obj)
19
+ # Re-implements non_forcing_is_a?
20
+ return false if Object.autoload?(:Set) # Set is meant to be autoloaded but not yet loaded, this value can't be a Set
21
+ return false unless Object.const_defined?(:Set) # Set is not loaded yet
19
22
  obj.is_a?(Set) && super
20
23
  end
21
24
 
22
25
  # overrides Base
23
26
  def valid?(obj)
27
+ # Re-implements non_forcing_is_a?
28
+ return false if Object.autoload?(:Set) # Set is meant to be autoloaded but not yet loaded, this value can't be a Set
29
+ return false unless Object.const_defined?(:Set) # Set is not loaded yet
24
30
  obj.is_a?(Set)
25
31
  end
26
32
 
27
33
  def new(*args)
34
+ # Fine for this to blow up, because hopefully if they're trying to make a
35
+ # Set, they don't mind putting (or already have put) a `require 'set'` in
36
+ # their program directly.
28
37
  Set.new(*T.unsafe(args))
29
38
  end
30
39
 
@@ -34,6 +43,9 @@ module T::Types
34
43
  end
35
44
 
36
45
  def valid?(obj)
46
+ # Re-implements non_forcing_is_a?
47
+ return false if Object.autoload?(:Set) # Set is meant to be autoloaded but not yet loaded, this value can't be a Set
48
+ return false unless Object.const_defined?(:Set) # Set is not loaded yet
37
49
  obj.is_a?(Set)
38
50
  end
39
51
  end
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.9248
4
+ version: 0.5.9258
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stripe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-19 00:00:00.000000000 Z
11
+ date: 2021-10-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest