openfeature-sdk-sorbet 0.3.0 → 0.4.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c15c80725be63842d38491ff9c0addddcf29d063a191eadb44fe957e059ab520
4
- data.tar.gz: 7a263495564db2fee7cb4805d82458ee70951a30ebe15bb470f205c97c32b529
3
+ metadata.gz: c618b9b2a1026874a45d03ea989183343bb2653a0de5184d510ba37b37d7abfe
4
+ data.tar.gz: 6573830336c85fb9c4bc66a3903dde8745947b510d45d145e040f4f5592d9eaa
5
5
  SHA512:
6
- metadata.gz: 6cb5f8413afe5a94866d456e841fabc092c09058d0117df0847e33111cd1020b313f45c5ad512200f19e463557369eca2a846f6eb0b28b6e4f8c7fff898ce1e7
7
- data.tar.gz: 6279c0be67ad089ee53201d451cf6349cc976e59d016c850a1d74711a47bc890aad6ba5e11ff92ec343c8277555a81834bf238d7a487275db33cd224400272e1
6
+ metadata.gz: 02a81d4faa83f8915aa40f6b23aa8261746ef3d3df0ad4155d5a56a12aad98f81fc5a58b7c874e62253e7e43b92d92980b8adf307fd39fce02140e609598a7bd
7
+ data.tar.gz: 3572884d4efb1813c9388534758ebca4791c1f00c1682e8edaa0fb337d1f327be4efd4df1ccd51f7954f23095d6de13ed7818fc065eb143b3a9f62e165d1118e
data/.rubocop.yml CHANGED
@@ -10,7 +10,7 @@ require:
10
10
 
11
11
  AllCops:
12
12
  NewCops: enable
13
- TargetRubyVersion: 3.1
13
+ TargetRubyVersion: 3.0
14
14
  Exclude:
15
15
  - sorbet/**/*.rbi
16
16
 
data/CHANGELOG.md CHANGED
@@ -6,6 +6,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.4.0] - 2024-02-21
10
+
11
+ ### Changed
12
+
13
+ - Set minimum Ruby version back to 3.0.
14
+
15
+ ## [0.3.1] - 2024-01-26
16
+
17
+ ### Changed
18
+
19
+ - Loosened underlying `Hash` type for evaluation context.
20
+
21
+ ### Fixed
22
+
23
+ - Fixed issue where `MultipleSourceProvider` was not passing context to each internal provider.
24
+
9
25
  ## [0.3.0] - 2024-01-24
10
26
 
11
27
  ### Added
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- openfeature-sdk-sorbet (0.3.0)
4
+ openfeature-sdk-sorbet (0.4.0)
5
5
  sorbet-runtime (~> 0.5)
6
6
  sorbet-struct-comparable (~> 1.3)
7
7
  zeitwerk (~> 2.6)
@@ -64,14 +64,14 @@ GEM
64
64
  rubocop-sorbet (0.7.6)
65
65
  rubocop (>= 0.90.0)
66
66
  ruby-progressbar (1.13.0)
67
- sorbet (0.5.11218)
68
- sorbet-static (= 0.5.11218)
69
- sorbet-runtime (0.5.11218)
70
- sorbet-static (0.5.11218-universal-darwin)
71
- sorbet-static (0.5.11218-x86_64-linux)
72
- sorbet-static-and-runtime (0.5.11218)
73
- sorbet (= 0.5.11218)
74
- sorbet-runtime (= 0.5.11218)
67
+ sorbet (0.5.11219)
68
+ sorbet-static (= 0.5.11219)
69
+ sorbet-runtime (0.5.11219)
70
+ sorbet-static (0.5.11219-universal-darwin)
71
+ sorbet-static (0.5.11219-x86_64-linux)
72
+ sorbet-static-and-runtime (0.5.11219)
73
+ sorbet (= 0.5.11219)
74
+ sorbet-runtime (= 0.5.11219)
75
75
  sorbet-struct-comparable (1.3.0)
76
76
  sorbet-runtime (>= 0.5)
77
77
  spoom (1.2.1)
@@ -79,7 +79,7 @@ GEM
79
79
  sorbet-runtime (>= 0.5.9204)
80
80
  thor (>= 0.19.2)
81
81
  stringio (3.1.0)
82
- tapioca (0.11.17)
82
+ tapioca (0.12.0)
83
83
  bundler (>= 2.2.25)
84
84
  netrc (>= 0.11.0)
85
85
  parallel (>= 1.21.0)
@@ -25,7 +25,7 @@ module OpenFeature
25
25
  end
26
26
  def initialize(provider:, name: nil, evaluation_context: nil, hooks: [])
27
27
  @provider = provider
28
- @client_metadata = T.let(ClientMetadata.new(name:), ClientMetadata)
28
+ @client_metadata = T.let(ClientMetadata.new(name: name), ClientMetadata)
29
29
  @evaluation_context = evaluation_context
30
30
  @hooks = hooks
31
31
  end
@@ -44,10 +44,10 @@ module OpenFeature
44
44
  ).returns(T::Boolean)
45
45
  end
46
46
  def fetch_boolean_value(flag_key:, default_value:, context: nil, options: nil)
47
- evaluated_context = build_context_with_before_hooks(flag_key:, default_value:,
48
- invocation_context: context, options:,
47
+ evaluated_context = build_context_with_before_hooks(flag_key: flag_key, default_value: default_value,
48
+ invocation_context: context, options: options,
49
49
  flag_type: "Boolean")
50
- provider.resolve_boolean_value(flag_key:, default_value:, context: evaluated_context)
50
+ provider.resolve_boolean_value(flag_key: flag_key, default_value: default_value, context: evaluated_context)
51
51
  .value
52
52
  rescue StandardError
53
53
  default_value
@@ -63,14 +63,14 @@ module OpenFeature
63
63
  end
64
64
  def fetch_boolean_details(flag_key:, default_value:, context: nil, options: nil) # rubocop:disable Lint/UnusedMethodArgument
65
65
  details = provider.resolve_boolean_value(
66
- flag_key:,
67
- default_value:,
66
+ flag_key: flag_key,
67
+ default_value: default_value,
68
68
  context: build_context(context)
69
69
  )
70
70
 
71
- EvaluationDetails.from_resolution_details(details, flag_key:)
71
+ EvaluationDetails.from_resolution_details(details, flag_key: flag_key)
72
72
  rescue StandardError => e
73
- EvaluationDetails.from_error(e.message, flag_key:, default_value:)
73
+ EvaluationDetails.from_error(e.message, flag_key: flag_key, default_value: default_value)
74
74
  end
75
75
 
76
76
  sig do
@@ -82,11 +82,11 @@ module OpenFeature
82
82
  ).returns(String)
83
83
  end
84
84
  def fetch_string_value(flag_key:, default_value:, context: nil, options: nil)
85
- evaluated_context = build_context_with_before_hooks(flag_key:, default_value:,
86
- invocation_context: context, options:,
85
+ evaluated_context = build_context_with_before_hooks(flag_key: flag_key, default_value: default_value,
86
+ invocation_context: context, options: options,
87
87
  flag_type: "String")
88
88
  provider
89
- .resolve_string_value(flag_key:, default_value:, context: evaluated_context)
89
+ .resolve_string_value(flag_key: flag_key, default_value: default_value, context: evaluated_context)
90
90
  .value
91
91
  rescue StandardError
92
92
  default_value
@@ -102,14 +102,14 @@ module OpenFeature
102
102
  end
103
103
  def fetch_string_details(flag_key:, default_value:, context: nil, options: nil) # rubocop:disable Lint/UnusedMethodArgument
104
104
  details = provider.resolve_string_value(
105
- flag_key:,
106
- default_value:,
105
+ flag_key: flag_key,
106
+ default_value: default_value,
107
107
  context: build_context(context)
108
108
  )
109
109
 
110
- EvaluationDetails.from_resolution_details(details, flag_key:)
110
+ EvaluationDetails.from_resolution_details(details, flag_key: flag_key)
111
111
  rescue StandardError => e
112
- EvaluationDetails.from_error(e.message, flag_key:, default_value:)
112
+ EvaluationDetails.from_error(e.message, flag_key: flag_key, default_value: default_value)
113
113
  end
114
114
 
115
115
  sig do
@@ -121,11 +121,11 @@ module OpenFeature
121
121
  ).returns(Numeric)
122
122
  end
123
123
  def fetch_number_value(flag_key:, default_value:, context: nil, options: nil)
124
- evaluated_context = build_context_with_before_hooks(flag_key:, default_value:,
125
- invocation_context: context, options:,
124
+ evaluated_context = build_context_with_before_hooks(flag_key: flag_key, default_value: default_value,
125
+ invocation_context: context, options: options,
126
126
  flag_type: "Number")
127
127
  provider
128
- .resolve_number_value(flag_key:, default_value:, context: evaluated_context)
128
+ .resolve_number_value(flag_key: flag_key, default_value: default_value, context: evaluated_context)
129
129
  .value
130
130
  rescue StandardError
131
131
  default_value
@@ -141,14 +141,14 @@ module OpenFeature
141
141
  end
142
142
  def fetch_number_details(flag_key:, default_value:, context: nil, options: nil) # rubocop:disable Lint/UnusedMethodArgument
143
143
  details = provider.resolve_number_value(
144
- flag_key:,
145
- default_value:,
144
+ flag_key: flag_key,
145
+ default_value: default_value,
146
146
  context: build_context(context)
147
147
  )
148
148
 
149
- EvaluationDetails.from_resolution_details(details, flag_key:)
149
+ EvaluationDetails.from_resolution_details(details, flag_key: flag_key)
150
150
  rescue StandardError => e
151
- EvaluationDetails.from_error(e.message, flag_key:, default_value:)
151
+ EvaluationDetails.from_error(e.message, flag_key: flag_key, default_value: default_value)
152
152
  end
153
153
 
154
154
  sig do
@@ -160,11 +160,11 @@ module OpenFeature
160
160
  ).returns(Integer)
161
161
  end
162
162
  def fetch_integer_value(flag_key:, default_value:, context: nil, options: nil)
163
- evaluated_context = build_context_with_before_hooks(flag_key:, default_value:,
164
- invocation_context: context, options:,
163
+ evaluated_context = build_context_with_before_hooks(flag_key: flag_key, default_value: default_value,
164
+ invocation_context: context, options: options,
165
165
  flag_type: "Integer")
166
166
  provider
167
- .resolve_number_value(flag_key:, default_value:, context: evaluated_context)
167
+ .resolve_number_value(flag_key: flag_key, default_value: default_value, context: evaluated_context)
168
168
  .value
169
169
  .to_i
170
170
  rescue StandardError
@@ -180,11 +180,11 @@ module OpenFeature
180
180
  ).returns(Float)
181
181
  end
182
182
  def fetch_float_value(flag_key:, default_value:, context: nil, options: nil)
183
- evaluated_context = build_context_with_before_hooks(flag_key:, default_value:,
184
- invocation_context: context, options:,
183
+ evaluated_context = build_context_with_before_hooks(flag_key: flag_key, default_value: default_value,
184
+ invocation_context: context, options: options,
185
185
  flag_type: "Float")
186
186
  provider
187
- .resolve_number_value(flag_key:, default_value:, context: evaluated_context)
187
+ .resolve_number_value(flag_key: flag_key, default_value: default_value, context: evaluated_context)
188
188
  .value
189
189
  .to_f
190
190
  rescue StandardError
@@ -200,11 +200,11 @@ module OpenFeature
200
200
  ).returns(Structure)
201
201
  end
202
202
  def fetch_structure_value(flag_key:, default_value:, context: nil, options: nil)
203
- evaluated_context = build_context_with_before_hooks(flag_key:, default_value:,
204
- invocation_context: context, options:,
203
+ evaluated_context = build_context_with_before_hooks(flag_key: flag_key, default_value: default_value,
204
+ invocation_context: context, options: options,
205
205
  flag_type: "Structure")
206
206
  provider
207
- .resolve_structure_value(flag_key:, default_value:, context: evaluated_context)
207
+ .resolve_structure_value(flag_key: flag_key, default_value: default_value, context: evaluated_context)
208
208
  .value
209
209
  rescue StandardError
210
210
  default_value
@@ -220,14 +220,14 @@ module OpenFeature
220
220
  end
221
221
  def fetch_structure_details(flag_key:, default_value:, context: nil, options: nil) # rubocop:disable Lint/UnusedMethodArgument
222
222
  details = provider.resolve_structure_value(
223
- flag_key:,
224
- default_value:,
223
+ flag_key: flag_key,
224
+ default_value: default_value,
225
225
  context: build_context(context)
226
226
  )
227
227
 
228
- EvaluationDetails.from_resolution_details(details, flag_key:)
228
+ EvaluationDetails.from_resolution_details(details, flag_key: flag_key)
229
229
  rescue StandardError => e
230
- EvaluationDetails.from_error(e.message, flag_key:, default_value:)
230
+ EvaluationDetails.from_error(e.message, flag_key: flag_key, default_value: default_value)
231
231
  end
232
232
 
233
233
  private
@@ -245,8 +245,8 @@ module OpenFeature
245
245
  ).returns(EvaluationContext)
246
246
  end
247
247
  def build_context_with_before_hooks(flag_key:, default_value:, invocation_context:, options:, flag_type:)
248
- hook_context = build_hook_context(flag_key:, default_value:,
249
- invocation_context:, flag_type:)
248
+ hook_context = build_hook_context(flag_key: flag_key, default_value: default_value,
249
+ invocation_context: invocation_context, flag_type: flag_type)
250
250
  OpenFeature::Hook::BeforeHook.call(hooks: build_hooks(options), context: hook_context,
251
251
  hints: {})
252
252
  end
@@ -271,9 +271,9 @@ module OpenFeature
271
271
  end
272
272
  def build_hook_context(flag_key:, default_value:, invocation_context:, flag_type:)
273
273
  evaluation_context = build_context(invocation_context) || OpenFeature::EvaluationContext.new
274
- HookContext.new(flag_key:, default_value:,
275
- evaluation_context:, flag_type:,
276
- client_metadata:, provider_metadata: provider.metadata)
274
+ HookContext.new(flag_key: flag_key, default_value: default_value,
275
+ evaluation_context: evaluation_context, flag_type: flag_type,
276
+ client_metadata: client_metadata, provider_metadata: provider.metadata)
277
277
  end
278
278
 
279
279
  sig { params(invocation_context: T.nilable(EvaluationContext)).returns(T.nilable(EvaluationContext)) }
@@ -281,7 +281,7 @@ module OpenFeature
281
281
  EvaluationContextBuilder.new.call(
282
282
  global_context: OpenFeature.configuration.evaluation_context,
283
283
  client_context: evaluation_context,
284
- invocation_context:
284
+ invocation_context: invocation_context
285
285
  )
286
286
  end
287
287
  end
@@ -11,30 +11,28 @@ module OpenFeature
11
11
 
12
12
  include T::Struct::ActsAsComparable
13
13
 
14
- FieldValueType = T.type_alias { T.any(T::Boolean, String, Numeric, DateTime, Structure) }
15
-
16
14
  const :targeting_key, T.nilable(String), default: nil
17
- const :fields, T::Hash[String, FieldValueType], default: {}
15
+ const :fields, T::Hash[T.untyped, T.untyped], default: {}
18
16
 
19
17
  sig { params(method_name: Symbol).returns(T::Boolean) }
20
18
  def respond_to_missing?(method_name)
21
19
  fields.key?(method_name.to_s)
22
20
  end
23
21
 
24
- sig { params(method_name: Symbol).returns(T.nilable(FieldValueType)) }
22
+ sig { params(method_name: Symbol).returns(T.untyped) }
25
23
  def method_missing(method_name)
26
24
  fields.fetch(method_name.to_s, nil)
27
25
  end
28
26
 
29
- sig { params(key: String, value: FieldValueType).returns(EvaluationContext) }
27
+ sig { params(key: String, value: T.untyped).returns(EvaluationContext) }
30
28
  def add_field(key, value)
31
29
  EvaluationContext.new(
32
- targeting_key:,
30
+ targeting_key: targeting_key,
33
31
  fields: fields.merge({ key => value })
34
32
  )
35
33
  end
36
34
 
37
- sig { returns(T::Hash[String, FieldValueType]) }
35
+ sig { returns(T::Hash[T.untyped, T.untyped]) }
38
36
  def to_h
39
37
  targeting_key.nil? ? fields : fields.merge("targeting_key" => targeting_key)
40
38
  end
@@ -25,7 +25,7 @@ module OpenFeature
25
25
  sig { params(details: ResolutionDetails[SelfValue], flag_key: String).returns(EvaluationDetails[SelfValue]) }
26
26
  def from_resolution_details(details, flag_key:)
27
27
  EvaluationDetails.new(
28
- flag_key:,
28
+ flag_key: flag_key,
29
29
  value: details.value,
30
30
  error_code: details.error_code,
31
31
  error_message: details.error_message,
@@ -44,7 +44,7 @@ module OpenFeature
44
44
  end
45
45
  def from_error(error_message, flag_key:, default_value:)
46
46
  EvaluationDetails.new(
47
- flag_key:,
47
+ flag_key: flag_key,
48
48
  value: default_value,
49
49
  error_code: ErrorCode::General,
50
50
  error_message: "Provider raised error: #{error_message}",
@@ -35,7 +35,7 @@ module OpenFeature
35
35
  hooks.before.reduce(context.evaluation_context) do |evaluation_context, hook|
36
36
  hook.call(
37
37
  context: context.with_new_evaluation_context(evaluation_context),
38
- hints:
38
+ hints: hints
39
39
  )
40
40
  end
41
41
  )
@@ -22,9 +22,9 @@ module OpenFeature
22
22
  # Needed as opposed to .with due to https://sorbet.org/docs/tstruct#from_hash-gotchas
23
23
  sig { params(new_context: EvaluationContext).returns(HookContext[Value]) }
24
24
  def with_new_evaluation_context(new_context)
25
- OpenFeature::HookContext.new(flag_key:, flag_type:, default_value:,
26
- evaluation_context: new_context, client_metadata:,
27
- provider_metadata:)
25
+ OpenFeature::HookContext.new(flag_key: flag_key, flag_type: flag_type, default_value: default_value,
26
+ evaluation_context: new_context, client_metadata: client_metadata,
27
+ provider_metadata: provider_metadata)
28
28
  end
29
29
  end
30
30
  end
@@ -28,7 +28,7 @@ module OpenFeature
28
28
 
29
29
  sig { override.params(context: EvaluationContext).void }
30
30
  def init(context:)
31
- providers.each { |provider| provider.init(context:) }
31
+ providers.each { |provider| provider.init(context: context) }
32
32
  @status = if providers.all? { |provider| provider.status == ProviderStatus::Ready }
33
33
  ProviderStatus::Ready
34
34
  else
@@ -53,8 +53,8 @@ module OpenFeature
53
53
  .returns(ResolutionDetails[T::Boolean])
54
54
  end
55
55
  def resolve_boolean_value(flag_key:, default_value:, context: nil)
56
- resolve_from_sources(default_value:) do |provider|
57
- provider.resolve_boolean_value(flag_key:, default_value:)
56
+ resolve_from_sources(default_value: default_value) do |provider|
57
+ provider.resolve_boolean_value(flag_key: flag_key, default_value: default_value, context: context)
58
58
  end
59
59
  end
60
60
 
@@ -68,8 +68,8 @@ module OpenFeature
68
68
  .returns(ResolutionDetails[Numeric])
69
69
  end
70
70
  def resolve_number_value(flag_key:, default_value:, context: nil)
71
- resolve_from_sources(default_value:) do |provider|
72
- provider.resolve_number_value(flag_key:, default_value:)
71
+ resolve_from_sources(default_value: default_value) do |provider|
72
+ provider.resolve_number_value(flag_key: flag_key, default_value: default_value, context: context)
73
73
  end
74
74
  end
75
75
 
@@ -83,8 +83,8 @@ module OpenFeature
83
83
  .returns(ResolutionDetails[Structure])
84
84
  end
85
85
  def resolve_structure_value(flag_key:, default_value:, context: nil)
86
- resolve_from_sources(default_value:) do |provider|
87
- provider.resolve_structure_value(flag_key:, default_value:)
86
+ resolve_from_sources(default_value: default_value) do |provider|
87
+ provider.resolve_structure_value(flag_key: flag_key, default_value: default_value, context: context)
88
88
  end
89
89
  end
90
90
 
@@ -98,8 +98,8 @@ module OpenFeature
98
98
  .returns(ResolutionDetails[String])
99
99
  end
100
100
  def resolve_string_value(flag_key:, default_value:, context: nil)
101
- resolve_from_sources(default_value:) do |provider|
102
- provider.resolve_string_value(flag_key:, default_value:)
101
+ resolve_from_sources(default_value: default_value) do |provider|
102
+ provider.resolve_string_value(flag_key: flag_key, default_value: default_value, context: context)
103
103
  end
104
104
  end
105
105
 
data/lib/open_feature.rb CHANGED
@@ -44,8 +44,8 @@ module OpenFeature
44
44
  def create_client(name: nil, evaluation_context: nil, hooks: nil)
45
45
  Client.new(
46
46
  provider: configuration.provider,
47
- name:,
48
- evaluation_context:,
47
+ name: name,
48
+ evaluation_context: evaluation_context,
49
49
  hooks: Array(hooks)
50
50
  )
51
51
  end
@@ -1820,7 +1820,7 @@ class RBI::Rewriters::Merge::Conflict < ::T::Struct
1820
1820
  def to_s; end
1821
1821
 
1822
1822
  class << self
1823
- # source://sorbet-runtime/0.5.11218/lib/types/struct.rb#13
1823
+ # source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
1824
1824
  def inherited(s); end
1825
1825
  end
1826
1826
  end
@@ -2037,7 +2037,7 @@ class RBI::Rewriters::RemoveKnownDefinitions::Operation < ::T::Struct
2037
2037
  def to_s; end
2038
2038
 
2039
2039
  class << self
2040
- # source://sorbet-runtime/0.5.11218/lib/types/struct.rb#13
2040
+ # source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
2041
2041
  def inherited(s); end
2042
2042
  end
2043
2043
  end
@@ -2670,7 +2670,7 @@ class RBI::Tree < ::RBI::NodeWithComments
2670
2670
  sig { params(annotation: ::String, annotate_scopes: T::Boolean, annotate_properties: T::Boolean).void }
2671
2671
  def annotate!(annotation, annotate_scopes: T.unsafe(nil), annotate_properties: T.unsafe(nil)); end
2672
2672
 
2673
- # source://tapioca/0.11.17/lib/tapioca/rbi_ext/model.rb#38
2673
+ # source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#38
2674
2674
  sig do
2675
2675
  params(
2676
2676
  name: ::String,
@@ -2680,19 +2680,19 @@ class RBI::Tree < ::RBI::NodeWithComments
2680
2680
  end
2681
2681
  def create_class(name, superclass_name: T.unsafe(nil), &block); end
2682
2682
 
2683
- # source://tapioca/0.11.17/lib/tapioca/rbi_ext/model.rb#45
2683
+ # source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#45
2684
2684
  sig { params(name: ::String, value: ::String).void }
2685
2685
  def create_constant(name, value:); end
2686
2686
 
2687
- # source://tapioca/0.11.17/lib/tapioca/rbi_ext/model.rb#55
2687
+ # source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#55
2688
2688
  sig { params(name: ::String).void }
2689
2689
  def create_extend(name); end
2690
2690
 
2691
- # source://tapioca/0.11.17/lib/tapioca/rbi_ext/model.rb#50
2691
+ # source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#50
2692
2692
  sig { params(name: ::String).void }
2693
2693
  def create_include(name); end
2694
2694
 
2695
- # source://tapioca/0.11.17/lib/tapioca/rbi_ext/model.rb#89
2695
+ # source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#89
2696
2696
  sig do
2697
2697
  params(
2698
2698
  name: ::String,
@@ -2705,19 +2705,19 @@ class RBI::Tree < ::RBI::NodeWithComments
2705
2705
  end
2706
2706
  def create_method(name, parameters: T.unsafe(nil), return_type: T.unsafe(nil), class_method: T.unsafe(nil), visibility: T.unsafe(nil), comments: T.unsafe(nil)); end
2707
2707
 
2708
- # source://tapioca/0.11.17/lib/tapioca/rbi_ext/model.rb#60
2708
+ # source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#60
2709
2709
  sig { params(name: ::String).void }
2710
2710
  def create_mixes_in_class_methods(name); end
2711
2711
 
2712
- # source://tapioca/0.11.17/lib/tapioca/rbi_ext/model.rb#25
2712
+ # source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#25
2713
2713
  sig { params(name: ::String, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).returns(::RBI::Scope) }
2714
2714
  def create_module(name, &block); end
2715
2715
 
2716
- # source://tapioca/0.11.17/lib/tapioca/rbi_ext/model.rb#9
2716
+ # source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#9
2717
2717
  sig { params(constant: ::Module, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).returns(::RBI::Scope) }
2718
2718
  def create_path(constant, &block); end
2719
2719
 
2720
- # source://tapioca/0.11.17/lib/tapioca/rbi_ext/model.rb#74
2720
+ # source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#74
2721
2721
  sig do
2722
2722
  params(
2723
2723
  name: ::String,
@@ -2779,11 +2779,11 @@ class RBI::Tree < ::RBI::NodeWithComments
2779
2779
 
2780
2780
  private
2781
2781
 
2782
- # source://tapioca/0.11.17/lib/tapioca/rbi_ext/model.rb#116
2782
+ # source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#116
2783
2783
  sig { params(node: ::RBI::Node).returns(::RBI::Node) }
2784
2784
  def create_node(node); end
2785
2785
 
2786
- # source://tapioca/0.11.17/lib/tapioca/rbi_ext/model.rb#111
2786
+ # source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#111
2787
2787
  sig { returns(T::Hash[::String, ::RBI::Node]) }
2788
2788
  def nodes_cache; end
2789
2789
  end
@@ -926,7 +926,7 @@ class Spoom::Coverage::D3::ColorPalette < ::T::Struct
926
926
  prop :strong, ::String
927
927
 
928
928
  class << self
929
- # source://sorbet-runtime/0.5.11218/lib/types/struct.rb#13
929
+ # source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
930
930
  def inherited(s); end
931
931
  end
932
932
  end
@@ -1266,7 +1266,7 @@ class Spoom::Coverage::Snapshot < ::T::Struct
1266
1266
  sig { params(obj: T::Hash[::String, T.untyped]).returns(::Spoom::Coverage::Snapshot) }
1267
1267
  def from_obj(obj); end
1268
1268
 
1269
- # source://sorbet-runtime/0.5.11218/lib/types/struct.rb#13
1269
+ # source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
1270
1270
  def inherited(s); end
1271
1271
  end
1272
1272
  end
@@ -1333,7 +1333,7 @@ class Spoom::ExecResult < ::T::Struct
1333
1333
  def to_s; end
1334
1334
 
1335
1335
  class << self
1336
- # source://sorbet-runtime/0.5.11218/lib/types/struct.rb#13
1336
+ # source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
1337
1337
  def inherited(s); end
1338
1338
  end
1339
1339
  end
@@ -1527,7 +1527,7 @@ class Spoom::FileTree::Node < ::T::Struct
1527
1527
  def path; end
1528
1528
 
1529
1529
  class << self
1530
- # source://sorbet-runtime/0.5.11218/lib/types/struct.rb#13
1530
+ # source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
1531
1531
  def inherited(s); end
1532
1532
  end
1533
1533
  end
@@ -1593,7 +1593,7 @@ class Spoom::Git::Commit < ::T::Struct
1593
1593
  def timestamp; end
1594
1594
 
1595
1595
  class << self
1596
- # source://sorbet-runtime/0.5.11218/lib/types/struct.rb#13
1596
+ # source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
1597
1597
  def inherited(s); end
1598
1598
 
1599
1599
  # Parse a line formated as `%h %at` into a `Commit`
@@ -1705,7 +1705,7 @@ class Spoom::LSP::Diagnostic < ::T::Struct
1705
1705
  sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Diagnostic) }
1706
1706
  def from_json(json); end
1707
1707
 
1708
- # source://sorbet-runtime/0.5.11218/lib/types/struct.rb#13
1708
+ # source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
1709
1709
  def inherited(s); end
1710
1710
  end
1711
1711
  end
@@ -1738,7 +1738,7 @@ class Spoom::LSP::DocumentSymbol < ::T::Struct
1738
1738
  sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::DocumentSymbol) }
1739
1739
  def from_json(json); end
1740
1740
 
1741
- # source://sorbet-runtime/0.5.11218/lib/types/struct.rb#13
1741
+ # source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
1742
1742
  def inherited(s); end
1743
1743
  end
1744
1744
  end
@@ -1796,7 +1796,7 @@ class Spoom::LSP::Hover < ::T::Struct
1796
1796
  sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Hover) }
1797
1797
  def from_json(json); end
1798
1798
 
1799
- # source://sorbet-runtime/0.5.11218/lib/types/struct.rb#13
1799
+ # source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
1800
1800
  def inherited(s); end
1801
1801
  end
1802
1802
  end
@@ -1821,7 +1821,7 @@ class Spoom::LSP::Location < ::T::Struct
1821
1821
  sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Location) }
1822
1822
  def from_json(json); end
1823
1823
 
1824
- # source://sorbet-runtime/0.5.11218/lib/types/struct.rb#13
1824
+ # source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
1825
1825
  def inherited(s); end
1826
1826
  end
1827
1827
  end
@@ -1888,7 +1888,7 @@ class Spoom::LSP::Position < ::T::Struct
1888
1888
  sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Position) }
1889
1889
  def from_json(json); end
1890
1890
 
1891
- # source://sorbet-runtime/0.5.11218/lib/types/struct.rb#13
1891
+ # source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
1892
1892
  def inherited(s); end
1893
1893
  end
1894
1894
  end
@@ -1926,7 +1926,7 @@ class Spoom::LSP::Range < ::T::Struct
1926
1926
  sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Range) }
1927
1927
  def from_json(json); end
1928
1928
 
1929
- # source://sorbet-runtime/0.5.11218/lib/types/struct.rb#13
1929
+ # source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
1930
1930
  def inherited(s); end
1931
1931
  end
1932
1932
  end
@@ -1996,7 +1996,7 @@ class Spoom::LSP::SignatureHelp < ::T::Struct
1996
1996
  sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::SignatureHelp) }
1997
1997
  def from_json(json); end
1998
1998
 
1999
- # source://sorbet-runtime/0.5.11218/lib/types/struct.rb#13
1999
+ # source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
2000
2000
  def inherited(s); end
2001
2001
  end
2002
2002
  end
@@ -204,7 +204,7 @@ class RBI::TypedParam < ::T::Struct
204
204
  const :type, ::String
205
205
 
206
206
  class << self
207
- # source://sorbet-runtime/0.5.11218/lib/types/struct.rb#13
207
+ # source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
208
208
  def inherited(s); end
209
209
  end
210
210
  end
@@ -1121,7 +1121,7 @@ class Tapioca::ConfigHelper::ConfigError < ::T::Struct
1121
1121
  const :message_parts, T::Array[::Tapioca::ConfigHelper::ConfigErrorMessagePart]
1122
1122
 
1123
1123
  class << self
1124
- # source://sorbet-runtime/0.5.11218/lib/types/struct.rb#13
1124
+ # source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
1125
1125
  def inherited(s); end
1126
1126
  end
1127
1127
  end
@@ -1132,7 +1132,7 @@ class Tapioca::ConfigHelper::ConfigErrorMessagePart < ::T::Struct
1132
1132
  const :colors, T::Array[::Symbol]
1133
1133
 
1134
1134
  class << self
1135
- # source://sorbet-runtime/0.5.11218/lib/types/struct.rb#13
1135
+ # source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
1136
1136
  def inherited(s); end
1137
1137
  end
1138
1138
  end
@@ -1688,13 +1688,16 @@ end
1688
1688
 
1689
1689
  # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#7
1690
1690
  class Tapioca::Gem::Listeners::SorbetProps < ::Tapioca::Gem::Listeners::Base
1691
+ include ::Tapioca::SorbetHelper
1692
+ include ::Tapioca::RBIHelper
1693
+
1691
1694
  private
1692
1695
 
1693
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#32
1696
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#33
1694
1697
  sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1695
1698
  def ignore?(event); end
1696
1699
 
1697
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#13
1700
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#14
1698
1701
  sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1699
1702
  def on_scope(event); end
1700
1703
  end
@@ -2429,7 +2432,7 @@ class Tapioca::Loaders::Loader
2429
2432
  # @param engine [T.class_of(Rails::Engine)]
2430
2433
  # @return [Array<String>]
2431
2434
  #
2432
- # source://sorbet-runtime/0.5.11218/lib/types/private/methods/_methods.rb#252
2435
+ # source://sorbet-runtime/0.5.11219/lib/types/private/methods/_methods.rb#252
2433
2436
  def eager_load_paths(*args, **_arg1, &blk); end
2434
2437
 
2435
2438
  # source://tapioca//lib/tapioca/loaders/loader.rb#198
@@ -3337,7 +3340,7 @@ module Tapioca::Static::SymbolLoader
3337
3340
 
3338
3341
  # @return [Array<T.class_of(Rails::Engine)>]
3339
3342
  #
3340
- # source://sorbet-runtime/0.5.11218/lib/types/private/methods/_methods.rb#252
3343
+ # source://sorbet-runtime/0.5.11219/lib/types/private/methods/_methods.rb#252
3341
3344
  def engines(*args, **_arg1, &blk); end
3342
3345
 
3343
3346
  # source://tapioca//lib/tapioca/static/symbol_loader.rb#82
@@ -381,7 +381,7 @@ class YARDSorbet::TStructProp < ::T::Struct
381
381
  const :types, T::Array[::String]
382
382
 
383
383
  class << self
384
- # source://sorbet-runtime/0.5.11218/lib/types/struct.rb#13
384
+ # source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
385
385
  def inherited(s); end
386
386
  end
387
387
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openfeature-sdk-sorbet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Max VelDink
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-01-24 00:00:00.000000000 Z
11
+ date: 2024-02-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sorbet-runtime
@@ -120,7 +120,7 @@ files:
120
120
  - sorbet/rbi/gems/sorbet-struct-comparable@1.3.0.rbi
121
121
  - sorbet/rbi/gems/spoom@1.2.1.rbi
122
122
  - sorbet/rbi/gems/stringio@3.1.0.rbi
123
- - sorbet/rbi/gems/tapioca@0.11.17.rbi
123
+ - sorbet/rbi/gems/tapioca@0.12.0.rbi
124
124
  - sorbet/rbi/gems/thor@1.3.0.rbi
125
125
  - sorbet/rbi/gems/unicode-display_width@2.5.0.rbi
126
126
  - sorbet/rbi/gems/yard-sorbet@0.8.1.rbi
@@ -145,7 +145,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
145
145
  requirements:
146
146
  - - ">="
147
147
  - !ruby/object:Gem::Version
148
- version: '3.1'
148
+ version: '3.0'
149
149
  required_rubygems_version: !ruby/object:Gem::Requirement
150
150
  requirements:
151
151
  - - ">="