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 +4 -4
- data/CHANGELOG.md +6 -0
- data/Gemfile.lock +1 -1
- data/lib/open_feature/evaluation_context.rb +5 -7
- data/openfeature-sdk-sorbet.gemspec +35 -0
- metadata +8 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 92165a20d077a7e0c161ee6f2eab9ce00824f3cadb73b9c2a2d81deef6489092
|
4
|
+
data.tar.gz: 268a5b22805349ace74f129bcfd79a34b674e9df6d76e01fe9c9e6282d8568c9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
@@ -11,22 +11,20 @@ module OpenFeature
|
|
11
11
|
|
12
12
|
include T::Struct::ActsAsComparable
|
13
13
|
|
14
|
-
|
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.
|
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:
|
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[
|
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-
|
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.
|
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: []
|