sorbet-runtime 0.5.9248 → 0.5.9266

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 (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: e3b59f0bc1a270f595e0bd7d199c528af1fc3ed0dd81120185509533877b585b
4
+ data.tar.gz: 926079130346393f975d6ccfa78cec361e4d4331ad58444fdc48e39a8d17a0c3
5
5
  SHA512:
6
- metadata.gz: 714ed517a90246c445f08569dfc7300b882839ae25c7ef81fd4a321263827049a12f817fc584c92ccdd97b9f7bc07930de93b7c3838fbfb248fe55490e25aaeb
7
- data.tar.gz: f479276f55ee3c26e423ecde331e608291e1aafd2b2b2f1ff1cfb3c2a3515a25d8f07a24d7214e3b32b5ac5da91fb9cd343289d4ebd1e59eae105f456148a5b2
6
+ metadata.gz: d21a28864aad2f3cda6e1d0bb1a5dfc08e9cd48df4d8539c3129ef5fb6e7add1611e373fa4564369362c400eb742fb325978fd792e1a4dfee8e846711fb889e4
7
+ data.tar.gz: 5092f6320ada939fec4869e1f36530ac269bf7bee265733cfb0c85bf421e07b839618c9f5848b770537a2308bff8d9275c4eba3aae6ab3da0cfd3e7d90fa6a03
@@ -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.9266
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-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest