sorbet-runtime 0.5.6393 → 0.5.6395

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.rb +19 -0
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7fbf46d63aaa9683a0f5cc9b37bd9508119fe5eb01f76f34edee83b9fda3dbb8
4
- data.tar.gz: a5cba0e8924ef62d48ba29b717299fcfd03988336964c13f03c9a2dbdb311e5b
3
+ metadata.gz: a3f7e712765bc8cf3eb2bb0677e1a9bc7c076ccd0a45ec264dea11fa45a0602b
4
+ data.tar.gz: aa45bd7ec5aa309fd5431992dd240f0558f37806b721a9f266b544492b34351c
5
5
  SHA512:
6
- metadata.gz: 74becf00b4cd97520b801b09174f154b50211826cf38eba103342e7c7827cd380134ceaa804ee7fdaf2ca79750ab242362643798a07d8dee00413bf4f80c1d30
7
- data.tar.gz: b59514f9e53afa11a6eb1c954d079a155aefd13ce9f78dadb90dd1a0ada42e0f85012276f762759436d3abf932edf7b2a0226708c882842ee170fd24ecf2e196
6
+ metadata.gz: a8ce05d54623d9e6961f5af4e8efe72a2be490c847da79719bc4dfbd38b2ddfd49a3ed24341c14b13fff4f3b32c03742788f7ee4b50ab69cf5204b2c86d4d2da
7
+ data.tar.gz: 421508b1b085f4d3a111a961ae56cbc2afc92c5077fa81c7560c952d92d32458172336e52091b8d1ff1aff7635e592765f526d79e7885bf97a1666a79e9b039b
data/lib/types/_types.rb CHANGED
@@ -147,6 +147,25 @@ module T
147
147
  Private::Casts.cast(value, type, cast_method: "T.let")
148
148
  end
149
149
 
150
+ # Tells the type checker to treat `self` in the current block as `type`.
151
+ # Useful for blocks that are captured and executed later with instance_exec.
152
+ # Use like:
153
+ #
154
+ # seconds = lambda do
155
+ # T.bind(self, NewBinding)
156
+ # ...
157
+ # end
158
+ #
159
+ # `T.bind` behaves like `T.cast` in that it is assumed to be true statically.
160
+ #
161
+ # If `checked` is true, raises an exception at runtime if the value
162
+ # doesn't match the type (this is the default).
163
+ def self.bind(value, type, checked: true)
164
+ return value unless checked
165
+
166
+ Private::Casts.cast(value, type, cast_method: "T.bind")
167
+ end
168
+
150
169
  # Tells the typechecker to ensure that `value` is of type `type` (if not, the typechecker will
151
170
  # fail). Use this for debugging typechecking errors, or to ensure that type information is
152
171
  # statically known and being checked appropriately. If `checked` is true, raises an exception at
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.6393
4
+ version: 0.5.6395
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stripe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-28 00:00:00.000000000 Z
11
+ date: 2021-04-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest