From 6f5fa75017a194cb60f36b9bec2fcb93e1360fd9 Mon Sep 17 00:00:00 2001 From: Max VelDink Date: Thu, 2 May 2024 08:27:07 -0400 Subject: [PATCH 1/3] chore: ignore DS_Store file Signed-off-by: Max VelDink --- .DS_Store | Bin 6148 -> 0 bytes .gitignore | 2 ++ providers/.DS_Store | Bin 6148 -> 0 bytes 3 files changed, 2 insertions(+) delete mode 100644 .DS_Store delete mode 100644 providers/.DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 28a19d2cceb3e90cb94dc55e36ea6dcd262d58df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK%}T>S5T0$TO(;SS3VK`cTCjfz#Y?F51&ruHr8cH$FlI~BpF=6+t}o<^_&m<+ zZbWIliAb4&*>5vHo9wq`rvm_@I}IBERRC~M2@5U`YlQryD^jqQBBIc1L=eId#*hZ{ zm1s8nM+WHZTo~b*DVV{R^GioTtOE4D1*14hC-wTfC=^Ru+hwQhRGeG?QO*6yU@}d+ zgYh*zT__a?`Fs#uM#Fi(x_hdU$skIGW1SF%LkzjOijq*xyK0(*sm}F{!*LzAUp-hX z8ufO&COgg6vL+XuX1ylct>fj=b@mRAPR{#J@pGbH44(pjdRlfY=J1M>HCqeQ`#8W) zrL;BfnLkcql{}y~UpQZokr`kHn1M}Uz}|08Wm7i9`(Or`fnQ^Q?gxoV=vmAR>Z=0> z-2xz%(5waL)Jsr~wCGvP459}`m{dfQDr}1(Ogh@7jq@yK22DB$+k6Q7W??%Nq2G?{ zOC1ivGsq(|zzlq6fOGlOVB;XeYJ1|FD!KV{$p()Lvo diff --git a/.gitignore b/.gitignore index e3200e0..71983ae 100644 --- a/.gitignore +++ b/.gitignore @@ -54,3 +54,5 @@ build-iPhoneSimulator/ # Used by RuboCop. Remote config files pulled in from inherit_from directive. # .rubocop-https?--* + +.DS_Store diff --git a/providers/.DS_Store b/providers/.DS_Store deleted file mode 100644 index badc98696e7d23653940fca9eabb34b54f6a18f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKyH3ME5S%3`BGIHoRQCfE{J|*-U%(F#ut7)`juJxcj^AeXffUO@N<{&?(%#(d z?X2Y~yj}pZIyASy62OA4h)-RnruXU-yNHMo>8$aL78|_dfZZhfbU?Y+=&>d9ZNzVJ z!*j=aFKD>mvSyDDyz{%y>)bS~D4iPnmF&{lkPlvi}m`x-bn8l7>Y6Z1zvbxBJFenWvT815S+ From d213633fdd6bcaefcceae4a216ae3149fc2c2d5f Mon Sep 17 00:00:00 2001 From: Max VelDink Date: Thu, 2 May 2024 08:42:58 -0400 Subject: [PATCH 2/3] feat: adding matching provider to flag metadata for MetaProvider Signed-off-by: Max VelDink --- .../lib/openfeature/meta_provider.rb | 9 +++++++++ .../spec/openfeature/meta_provider_spec.rb | 16 ++++++++++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/providers/openfeature-meta_provider/lib/openfeature/meta_provider.rb b/providers/openfeature-meta_provider/lib/openfeature/meta_provider.rb index 2360109..e713421 100644 --- a/providers/openfeature-meta_provider/lib/openfeature/meta_provider.rb +++ b/providers/openfeature-meta_provider/lib/openfeature/meta_provider.rb @@ -57,6 +57,15 @@ def fetch_from_sources(default_value:, &blk) successful_details = providers.each do |provider| details = yield(provider) + details = SDK::Provider::ResolutionDetails.new( + value: details.value, + reason: details.reason, + variant: details.variant, + error_code: details.error_code, + error_message: details.error_message, + flag_metadata: (details.flag_metadata || {}).merge("provider_name" => provider.metadata.name) + ) + break details if details.error_code.nil? rescue next diff --git a/providers/openfeature-meta_provider/spec/openfeature/meta_provider_spec.rb b/providers/openfeature-meta_provider/spec/openfeature/meta_provider_spec.rb index 12738d4..adec9c4 100644 --- a/providers/openfeature-meta_provider/spec/openfeature/meta_provider_spec.rb +++ b/providers/openfeature-meta_provider/spec/openfeature/meta_provider_spec.rb @@ -8,9 +8,15 @@ let(:flag_key) { "first_match_#{type}" } it "returns from first" do + expected_result = OpenFeature::SDK::Provider::ResolutionDetails.new( + value: first_matched_value, + reason: OpenFeature::SDK::Provider::Reason::STATIC, + flag_metadata: {"provider_name" => "In-memory Provider"} + ) + result = meta_provider.send(:"fetch_#{type}_value", flag_key:, default_value:) - expect(result).to eq(OpenFeature::SDK::Provider::ResolutionDetails.new(value: first_matched_value, reason: OpenFeature::SDK::Provider::Reason::STATIC)) + expect(result).to eq(expected_result) end end @@ -18,9 +24,15 @@ let(:flag_key) { "second_match_#{type}" } it "returns from second" do + expected_result = OpenFeature::SDK::Provider::ResolutionDetails.new( + value: second_matched_value, + reason: OpenFeature::SDK::Provider::Reason::STATIC, + flag_metadata: {"provider_name" => "In-memory Provider"} + ) + result = meta_provider.send(:"fetch_#{type}_value", flag_key:, default_value:) - expect(result).to eq(OpenFeature::SDK::Provider::ResolutionDetails.new(value: second_matched_value, reason: OpenFeature::SDK::Provider::Reason::STATIC)) + expect(result).to eq(expected_result) end end From 3357f223ff751f3496aee268c414574899be6fd1 Mon Sep 17 00:00:00 2001 From: Max VelDink Date: Fri, 3 May 2024 06:27:23 -0400 Subject: [PATCH 3/3] refactor: rename metadata key Signed-off-by: Max VelDink --- .../lib/openfeature/meta_provider.rb | 2 +- .../spec/openfeature/meta_provider_spec.rb | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/providers/openfeature-meta_provider/lib/openfeature/meta_provider.rb b/providers/openfeature-meta_provider/lib/openfeature/meta_provider.rb index e713421..752c638 100644 --- a/providers/openfeature-meta_provider/lib/openfeature/meta_provider.rb +++ b/providers/openfeature-meta_provider/lib/openfeature/meta_provider.rb @@ -63,7 +63,7 @@ def fetch_from_sources(default_value:, &blk) variant: details.variant, error_code: details.error_code, error_message: details.error_message, - flag_metadata: (details.flag_metadata || {}).merge("provider_name" => provider.metadata.name) + flag_metadata: (details.flag_metadata || {}).merge("matched_provider" => provider.metadata.name) ) break details if details.error_code.nil? diff --git a/providers/openfeature-meta_provider/spec/openfeature/meta_provider_spec.rb b/providers/openfeature-meta_provider/spec/openfeature/meta_provider_spec.rb index adec9c4..17a42bb 100644 --- a/providers/openfeature-meta_provider/spec/openfeature/meta_provider_spec.rb +++ b/providers/openfeature-meta_provider/spec/openfeature/meta_provider_spec.rb @@ -11,7 +11,7 @@ expected_result = OpenFeature::SDK::Provider::ResolutionDetails.new( value: first_matched_value, reason: OpenFeature::SDK::Provider::Reason::STATIC, - flag_metadata: {"provider_name" => "In-memory Provider"} + flag_metadata: {"matched_provider" => "In-memory Provider"} ) result = meta_provider.send(:"fetch_#{type}_value", flag_key:, default_value:) @@ -27,7 +27,7 @@ expected_result = OpenFeature::SDK::Provider::ResolutionDetails.new( value: second_matched_value, reason: OpenFeature::SDK::Provider::Reason::STATIC, - flag_metadata: {"provider_name" => "In-memory Provider"} + flag_metadata: {"matched_provider" => "In-memory Provider"} ) result = meta_provider.send(:"fetch_#{type}_value", flag_key:, default_value:)