sorbet-runtime 0.5.5295 → 0.5.5308
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.
- checksums.yaml +4 -4
- data/lib/types/props/decorator.rb +18 -26
- data/lib/types/props/serializable.rb +1 -1
- 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: 5a5e10d6356cbd45178246b2edd1e4d951af88b12baf3ea0ff1001357aa1256a
|
4
|
+
data.tar.gz: 2bfcf37676d14b688c54d98f8ca0d059bb0417be8f29263309b3929c826ba0a4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 73fb3bfcab64fcd1b83c113b4087feac4e7662e6705a2b98c580be4321018b153ba20a28ad5ebd14d89f8a7cd8ae228f689ab0b35b6b6cc4faa1026cdb27c564
|
7
|
+
data.tar.gz: 65bf68c479239a301c7cf8f589630fe45fd697e96d050bc9b56c6004c85ec38af9322220d45d9d4ca9e178515104bb549a7e868b7ec2123009290cbd97d2965f
|
@@ -91,25 +91,6 @@ class T::Props::Decorator
|
|
91
91
|
|
92
92
|
# Accessors
|
93
93
|
|
94
|
-
# For performance, don't use named params here.
|
95
|
-
# Passing in rules here is purely a performance optimization.
|
96
|
-
#
|
97
|
-
# checked(:never) - O(prop accesses)
|
98
|
-
sig do
|
99
|
-
params(
|
100
|
-
instance: DecoratedInstance,
|
101
|
-
prop: T.any(String, Symbol),
|
102
|
-
rules: T.nilable(Rules)
|
103
|
-
)
|
104
|
-
.returns(T.untyped)
|
105
|
-
.checked(:never)
|
106
|
-
end
|
107
|
-
def get(instance, prop, rules=props[prop.to_sym])
|
108
|
-
# For backwards compatibility, fall back to reconstructing the accessor key
|
109
|
-
# (though it would probably make more sense to raise in that case).
|
110
|
-
instance.instance_variable_get(rules ? rules[:accessor_key] : '@' + prop.to_s) # rubocop:disable PrisonGuard/NoLurkyInstanceVariableAccess
|
111
|
-
end
|
112
|
-
|
113
94
|
# Use this to validate that a value will validate for a given prop. Useful for knowing whether a value can be set on a model without setting it.
|
114
95
|
#
|
115
96
|
# checked(:never) - potentially O(prop accesses) depending on usage pattern
|
@@ -157,20 +138,17 @@ class T::Props::Decorator
|
|
157
138
|
params(
|
158
139
|
instance: DecoratedInstance,
|
159
140
|
prop: T.any(String, Symbol),
|
160
|
-
rules:
|
141
|
+
rules: Rules
|
161
142
|
)
|
162
143
|
.returns(T.untyped)
|
163
144
|
.checked(:never)
|
164
145
|
end
|
165
|
-
def prop_get(instance, prop, rules=
|
166
|
-
val =
|
167
|
-
|
146
|
+
def prop_get(instance, prop, rules=prop_rules(prop))
|
147
|
+
val = instance.instance_variable_get(rules[:accessor_key])
|
168
148
|
if !val.nil?
|
169
149
|
val
|
170
150
|
else
|
171
|
-
|
172
|
-
d = rules[:ifunset]
|
173
|
-
if d
|
151
|
+
if (d = rules[:ifunset])
|
174
152
|
T::Props::Utils.deep_clone_object(d)
|
175
153
|
else
|
176
154
|
nil
|
@@ -178,6 +156,20 @@ class T::Props::Decorator
|
|
178
156
|
end
|
179
157
|
end
|
180
158
|
|
159
|
+
sig do
|
160
|
+
params(
|
161
|
+
instance: DecoratedInstance,
|
162
|
+
prop: T.any(String, Symbol),
|
163
|
+
rules: Rules
|
164
|
+
)
|
165
|
+
.returns(T.untyped)
|
166
|
+
.checked(:never)
|
167
|
+
end
|
168
|
+
def prop_get_if_set(instance, prop, rules=prop_rules(prop))
|
169
|
+
instance.instance_variable_get(rules[:accessor_key])
|
170
|
+
end
|
171
|
+
alias_method :get, :prop_get_if_set # Alias for backwards compatibility
|
172
|
+
|
181
173
|
# checked(:never) - O(prop accesses)
|
182
174
|
sig do
|
183
175
|
params(
|
@@ -344,7 +344,7 @@ module T::Props::Serializable::DecoratorMethods
|
|
344
344
|
private_constant :EMPTY_EXTRA_PROPS
|
345
345
|
|
346
346
|
def extra_props(instance)
|
347
|
-
|
347
|
+
instance.instance_variable_get(:@_extra_props) || EMPTY_EXTRA_PROPS
|
348
348
|
end
|
349
349
|
|
350
350
|
# @override T::Props::PrettyPrintable
|
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.5308
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stripe
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-01-
|
11
|
+
date: 2020-01-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|