featurevisor-openfeature 1.1.0 → 2.0.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 +4 -4
- data/LICENSE +1 -1
- data/README.md +9 -2
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 82c9c9135ecbcd5961523a67d92b068f019eaff3db7d8685f050c074766ef9de
|
|
4
|
+
data.tar.gz: ac09d5e0b55134b4184c599b430d4db35c1740aa70a5afdf59673aed98cd7620
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 30b5381e7d8dcd6e5d789bda4923690b69fcc4902dbeee29b81537383d79d583e6ea3138f2600e475e79ffaeb11732c65c9ddc88befcf08ad07cf185cc82f178
|
|
7
|
+
data.tar.gz: 4dbbdd99168585f1f714cef6a476122e263f354d1cb379594ecdd7440ae9155a2f02ed6f659e08cb9c4206bcf7c6c97ea503a8968e55fd0f6eefcd11772599d9
|
data/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
Copyright (c)
|
|
3
|
+
Copyright (c) 2026 Fahad Heylaal (https://fahad19.com)
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
data/README.md
CHANGED
|
@@ -89,6 +89,8 @@ f = Featurevisor.create_featurevisor(
|
|
|
89
89
|
|
|
90
90
|
Most applications only need this factory and the returned `Featurevisor::Instance`. Public extension and observability APIs include modules, diagnostics, events, and the datafile structures accepted by the factory.
|
|
91
91
|
|
|
92
|
+
Concurrent evaluations are safe after an instance is configured. Do not mutate or close the same instance concurrently with evaluations. Serialize calls to `set_datafile`, `set_context`, `set_sticky`, `add_module`, `remove_module`, and `close`. Module, event, and diagnostic callbacks must synchronize mutable state that they capture.
|
|
93
|
+
|
|
92
94
|
## Initialization
|
|
93
95
|
|
|
94
96
|
The SDK can be initialized by passing [datafile](https://featurevisor.com/docs/building-datafiles/) content directly:
|
|
@@ -697,6 +699,8 @@ f.remove_module('my-custom-module')
|
|
|
697
699
|
|
|
698
700
|
## Child instance
|
|
699
701
|
|
|
702
|
+
A child snapshots the parent keys that exist when it is spawned. Child values win for those keys. Parent keys introduced later are still inherited. Calling `close` removes both child-owned listeners and subscriptions delegated to the parent.
|
|
703
|
+
|
|
700
704
|
When dealing with purely client-side applications, it is understandable that there is only one user involved, like in browser or mobile applications.
|
|
701
705
|
|
|
702
706
|
But when using Featurevisor SDK in server-side applications, where a single server instance can handle multiple user requests simultaneously, it is important to isolate the context for each request.
|
|
@@ -722,8 +726,11 @@ Similar to parent SDK, child instances also support several additional methods:
|
|
|
722
726
|
|
|
723
727
|
- `set_context`
|
|
724
728
|
- `set_sticky`
|
|
729
|
+
- `evaluate_flag`
|
|
725
730
|
- `is_enabled`
|
|
731
|
+
- `evaluate_variation`
|
|
726
732
|
- `get_variation`
|
|
733
|
+
- `evaluate_variable`
|
|
727
734
|
- `get_variable`
|
|
728
735
|
- `get_variable_boolean`
|
|
729
736
|
- `get_variable_string`
|
|
@@ -821,7 +828,7 @@ The provider currently requires Ruby 3.4 or newer because that is the minimum ve
|
|
|
821
828
|
Install the provider:
|
|
822
829
|
|
|
823
830
|
```ruby
|
|
824
|
-
gem "featurevisor-openfeature", "~>
|
|
831
|
+
gem "featurevisor-openfeature", "~> 2.0"
|
|
825
832
|
```
|
|
826
833
|
|
|
827
834
|
It installs the matching `featurevisor` gem and the official `openfeature-sdk` dependency. The provider and base SDK deliberately share the same version, and the provider requires that exact Featurevisor version.
|
|
@@ -901,7 +908,7 @@ The build produces `featurevisor-VERSION.gem` and `featurevisor-openfeature-VERS
|
|
|
901
908
|
- Run `bundle install`
|
|
902
909
|
- Push commit to `main` branch
|
|
903
910
|
- Wait for CI to complete
|
|
904
|
-
- Tag the release with the same version number, for example `
|
|
911
|
+
- Tag the release with the same version number, for example `v2.0.0`
|
|
905
912
|
- The workflow verifies that the tag matches the shared version
|
|
906
913
|
- The workflow publishes `featurevisor` first, followed by `featurevisor-openfeature`
|
|
907
914
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: featurevisor-openfeature
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 2.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Fahad Heylaal
|
|
@@ -15,14 +15,14 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - '='
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version:
|
|
18
|
+
version: 2.0.0
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - '='
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version:
|
|
25
|
+
version: 2.0.0
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: openfeature-sdk
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|