sorbet-runtime 0.4.4355 → 0.4.4356
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/types/configuration.rb +13 -0
- data/lib/types/private/methods/decl_builder.rb +1 -1
- data/lib/types/private/runtime_levels.rb +15 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f53453a8bb9889d7255ac1fce598d398e42999f1
|
4
|
+
data.tar.gz: 91640395de6736f36d8b75e83dabf103ad1c5096
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a13c99bed5334298bc15ba453c957e5d6c2622510612c5f95455b2b16f131cec338bc2eb63914ee6dfbaa1e2cf9801da0043be134c673b1e9eecb19db277aa91
|
7
|
+
data.tar.gz: 867411d64dbf0e23bc81a6fb453ad954711d9545441f5c301af516f4df034a3923e0006b535c3dda0d3116cd5cd1bb05adf58958e35185dc7cad4c2d99ffb217
|
data/lib/types/configuration.rb
CHANGED
@@ -17,6 +17,19 @@ module T::Configuration
|
|
17
17
|
T::Private::RuntimeLevels.enable_checking_in_tests
|
18
18
|
end
|
19
19
|
|
20
|
+
# Configure the default checked level for a sig with no explicit `.checked`
|
21
|
+
# builder. When unset, the default checked level is `:always`.
|
22
|
+
#
|
23
|
+
# Note: setting this option is potentially dangerous! Sorbet can't check all
|
24
|
+
# code statically. The runtime checks complement the checks that Sorbet does
|
25
|
+
# statically, so that methods don't have to guard themselves from being
|
26
|
+
# called incorrectly by untyped code.
|
27
|
+
#
|
28
|
+
# @param [:never, :tests, :always] default_checked_level
|
29
|
+
def self.default_checked_level=(default_checked_level)
|
30
|
+
T::Private::RuntimeLevels.default_checked_level = default_checked_level
|
31
|
+
end
|
32
|
+
|
20
33
|
# Set a handler to handle `TypeError`s raised by any in-line type assertions,
|
21
34
|
# including `T.must`, `T.let`, `T.cast`, and `T.assert_type!`.
|
22
35
|
#
|
@@ -249,7 +249,7 @@ module T::Private::Methods
|
|
249
249
|
decl.bind = nil
|
250
250
|
end
|
251
251
|
if decl.checked.equal?(ARG_NOT_PROVIDED)
|
252
|
-
decl.checked =
|
252
|
+
decl.checked = T::Private::RuntimeLevels.default_checked_level
|
253
253
|
end
|
254
254
|
if decl.soft_notify.equal?(ARG_NOT_PROVIDED)
|
255
255
|
decl.soft_notify = nil
|
@@ -17,6 +17,9 @@ module T::Private::RuntimeLevels
|
|
17
17
|
@check_tests = false
|
18
18
|
@wrapped_tests_with_validation = false
|
19
19
|
|
20
|
+
@has_read_default_checked_level = false
|
21
|
+
@default_checked_level = :always
|
22
|
+
|
20
23
|
def self.check_tests?
|
21
24
|
# Assume that this code path means that some `sig.checked(:tests)`
|
22
25
|
# has been wrapped (or not wrapped) already, which is a trapdoor
|
@@ -35,6 +38,18 @@ module T::Private::RuntimeLevels
|
|
35
38
|
_toggle_checking_tests(true)
|
36
39
|
end
|
37
40
|
|
41
|
+
def self.default_checked_level
|
42
|
+
@has_read_default_checked_level = true
|
43
|
+
@default_checked_level
|
44
|
+
end
|
45
|
+
|
46
|
+
def self.default_checked_level=(default_checked_level)
|
47
|
+
if @has_read_default_checked_level
|
48
|
+
raise "Set the default checked level earlier. There are already some methods whose sig blocks have evaluated which would not be affected by the new default."
|
49
|
+
end
|
50
|
+
@default_checked_level = default_checked_level
|
51
|
+
end
|
52
|
+
|
38
53
|
def self._toggle_checking_tests(checked)
|
39
54
|
@check_tests = checked
|
40
55
|
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.4.
|
4
|
+
version: 0.4.4356
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stripe
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-06-
|
11
|
+
date: 2019-06-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|