openfeature-sdk-sorbet 0.2.0 → 0.2.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b0df7fa6e69c0e30dd01d5e5f0aad7b5543787ed2ab7a11ab35d7b034ffe1dc6
4
- data.tar.gz: 22de53663fcd170d801f9ed12e0fb7bef01618b685ca61f2dbe486801d5fdcc1
3
+ metadata.gz: 92165a20d077a7e0c161ee6f2eab9ce00824f3cadb73b9c2a2d81deef6489092
4
+ data.tar.gz: 268a5b22805349ace74f129bcfd79a34b674e9df6d76e01fe9c9e6282d8568c9
5
5
  SHA512:
6
- metadata.gz: b31be23ed317d0e8d1418085f2e4adb655030d023a08cf1eb3ef450fa5aaf091319bdd6cd4af57d28d795e48711c705499aed23181c9f894919c01af8a7e8495
7
- data.tar.gz: b3bdf0316cd4637a7970791f2d2b5d4d3407bb45cd14b613fd268ce5f4e3486d6cdbe5731c955b5c92f4b9f26196d1a514dc8f54f683f8ec776f345f102f7173
6
+ metadata.gz: ab3c1ffc34395389f8698d880a69be7f6c6a112b233a343fb866b077ba17396fb7d1f62f211b1d8d2d784834893b9039511fdf123b73a5a329f07ac396109c38
7
+ data.tar.gz: ae81ff686780560422ddb17628b4ac3b464007b67f0af366155cb7fd0435f9cd9d587acf44cae80dd23090b1a2be9d7a8126ffb4af58edc831433d13bdbc127d
data/CHANGELOG.md CHANGED
@@ -6,6 +6,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.2.0.1] - 2023-07-21
10
+
11
+ ### Changed
12
+
13
+ * Loosened the type for the `EvaluationContext` underlying Hash to `T::Hash[T.untyped, T.untyped]`. This allows for more varied context to be past to flag evaluation. This is necessary since we don't fully support the Hooks specification and cannot handle all flag evaluation use cases. This behavior will be reverted once the Hooks spec is fully implemented.
14
+
9
15
  ## [0.2.0] - 2023-05-17
10
16
 
11
17
  ### Added
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- openfeature-sdk-sorbet (0.2.0)
4
+ openfeature-sdk-sorbet (0.2.0.1)
5
5
  sorbet-runtime (~> 0.5)
6
6
  sorbet-struct-comparable (~> 1.3)
7
7
  zeitwerk (~> 2.6)
@@ -11,22 +11,20 @@ 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
- const :targeting_key, T.nilable(String)
17
- const :fields, T::Hash[String, FieldValueType], default: {}
14
+ const :targeting_key, T.nilable(String), default: nil
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: T.untyped, value: T.untyped).returns(EvaluationContext) }
30
28
  def add_field(key, value)
31
29
  EvaluationContext.new(
32
30
  targeting_key: targeting_key,
@@ -34,7 +32,7 @@ module OpenFeature
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
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ Gem::Specification.new do |spec|
4
+ spec.name = "openfeature-sdk-sorbet"
5
+ spec.version = "0.2.0.1"
6
+ spec.authors = ["Max VelDink"]
7
+ spec.email = ["maxveldink@gmail.com"]
8
+
9
+ spec.summary = "Sorbet-aware implemention of the OpenFeature specification"
10
+ spec.homepage = "https://github.com/maxveldink/openfeature-sdk-sorbet"
11
+ spec.license = "MIT"
12
+ spec.required_ruby_version = ">= 2.7"
13
+
14
+ spec.metadata["allowed_push_host"] = "https://rubygems.org"
15
+ spec.metadata["rubygems_mfa_required"] = "true"
16
+
17
+ spec.metadata["homepage_uri"] = spec.homepage
18
+ spec.metadata["source_code_uri"] = spec.homepage
19
+ spec.metadata["changelog_uri"] = "https://github.com/maxveldink/openfeature-sdk-sorbet/blob/main/CHANGELOG.md"
20
+
21
+ # Specify which files should be added to the gem when it is released.
22
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
23
+ spec.files = Dir.chdir(__dir__) do
24
+ `git ls-files -z`.split("\x0").reject do |f|
25
+ (f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
26
+ end
27
+ end
28
+ spec.bindir = "exe"
29
+ spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
30
+ spec.require_paths = ["lib"]
31
+
32
+ spec.add_runtime_dependency "sorbet-runtime", "~> 0.5"
33
+ spec.add_runtime_dependency "sorbet-struct-comparable", "~> 1.3"
34
+ spec.add_runtime_dependency "zeitwerk", "~> 2.6"
35
+ 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.2.0
4
+ version: 0.2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Max VelDink
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-05-17 00:00:00.000000000 Z
11
+ date: 2023-07-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sorbet-runtime
@@ -52,7 +52,7 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '2.6'
55
- description:
55
+ description:
56
56
  email:
57
57
  - maxveldink@gmail.com
58
58
  executables: []
@@ -87,6 +87,7 @@ files:
87
87
  - lib/open_feature/provider_metadata.rb
88
88
  - lib/open_feature/resolution_details.rb
89
89
  - lib/open_feature/structure.rb
90
+ - openfeature-sdk-sorbet.gemspec
90
91
  - sorbet/config
91
92
  - sorbet/rbi/annotations/rainbow.rbi
92
93
  - sorbet/rbi/gems/ast@2.4.2.rbi
@@ -131,7 +132,7 @@ metadata:
131
132
  homepage_uri: https://github.com/maxveldink/openfeature-sdk-sorbet
132
133
  source_code_uri: https://github.com/maxveldink/openfeature-sdk-sorbet
133
134
  changelog_uri: https://github.com/maxveldink/openfeature-sdk-sorbet/blob/main/CHANGELOG.md
134
- post_install_message:
135
+ post_install_message:
135
136
  rdoc_options: []
136
137
  require_paths:
137
138
  - lib
@@ -146,8 +147,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
146
147
  - !ruby/object:Gem::Version
147
148
  version: '0'
148
149
  requirements: []
149
- rubygems_version: 3.4.10
150
- signing_key:
150
+ rubygems_version: 3.4.12
151
+ signing_key:
151
152
  specification_version: 4
152
153
  summary: Sorbet-aware implemention of the OpenFeature specification
153
154
  test_files: []