From 6ecf03e09d9fb9c33671b2852be2438aa97f9444 Mon Sep 17 00:00:00 2001 From: Jason Salaber Date: Tue, 22 Jul 2025 17:01:38 -0400 Subject: [PATCH 01/11] feat: added eval reasons to variable properties --- lib/devcycle-ruby-server-sdk.rb | 1 + lib/devcycle-ruby-server-sdk/api/client.rb | 16 +++- lib/devcycle-ruby-server-sdk/eval_reasons.rb | 55 ++++++++++++ .../proto/variableForUserParams.proto | 8 ++ .../proto/variableForUserParams_pb.rb | 84 ++++++------------- .../localbucketing/update_wasm.sh | 2 +- .../models/feature.rb | 8 +- .../models/variable.rb | 10 ++- spec/api/devcycle_api_spec.rb | 20 +++-- 9 files changed, 127 insertions(+), 77 deletions(-) create mode 100644 lib/devcycle-ruby-server-sdk/eval_reasons.rb diff --git a/lib/devcycle-ruby-server-sdk.rb b/lib/devcycle-ruby-server-sdk.rb index a344fdb..8495b05 100644 --- a/lib/devcycle-ruby-server-sdk.rb +++ b/lib/devcycle-ruby-server-sdk.rb @@ -29,6 +29,7 @@ require 'devcycle-ruby-server-sdk/eval_hooks_runner' require 'devcycle-ruby-server-sdk/models/eval_hook' require 'devcycle-ruby-server-sdk/models/eval_hook_context' +require 'devcycle-ruby-server-sdk/eval_reasons' # APIs require 'devcycle-ruby-server-sdk/api/client' diff --git a/lib/devcycle-ruby-server-sdk/api/client.rb b/lib/devcycle-ruby-server-sdk/api/client.rb index 797be03..7a80eac 100644 --- a/lib/devcycle-ruby-server-sdk/api/client.rb +++ b/lib/devcycle-ruby-server-sdk/api/client.rb @@ -195,12 +195,16 @@ def variable(user, key, default, opts = {}) value = default type = determine_variable_type(default) defaulted = true + eval = { reason: DevCycle::DEFAULT_REASONS::UNKNOWN, details: DevCycle::EVAL_REASON_DETAILS::UNKNOWN } if local_bucketing_initialized? && @local_bucketing.has_config type_code = variable_type_code_from_type(type) variable_pb = variable_for_user_pb(user, key, type_code) unless variable_pb.nil? value = get_variable_value(variable_pb) defaulted = false + eval = get_eval_reason(variable_pb) + else + eval = { reason: DevCycle::DEFAULT_REASONS::USER_NOT_TARGETED, details: DevCycle::DEFAULT_REASONS::USER_NOT_TARGETED } end else @logger.warn("Local bucketing not initialized, returning default value for variable #{key}") @@ -214,7 +218,8 @@ def variable(user, key, default, opts = {}) value: value, type: type, defaultValue: default, - isDefaulted: defaulted + isDefaulted: defaulted, + eval: eval }) end @@ -574,6 +579,15 @@ def get_variable_value(variable_pb) end end + def get_eval_reason(variable_pb) + if variable_pb.eval.nil? + { reason: DevCycle::DEFAULT_REASONS::UNKNOWN, details: DevCycle::DEFAULT_REASONS::UNKNOWN } + else + puts ("variable_pb.eval bruh: #{variable_pb.eval}") + { reason: variable_pb.eval.reason, details: variable_pb.eval.details } + end + end + # Adds an eval hook to the client # @param [EvalHook] eval_hook The eval hook to add # @return [void] diff --git a/lib/devcycle-ruby-server-sdk/eval_reasons.rb b/lib/devcycle-ruby-server-sdk/eval_reasons.rb new file mode 100644 index 0000000..53274fa --- /dev/null +++ b/lib/devcycle-ruby-server-sdk/eval_reasons.rb @@ -0,0 +1,55 @@ +module DevCycle + # Default reasons for evaluation failures + module DEFAULT_REASONS + MISSING_CONFIG = 'MISSING_CONFIG' + MISSING_VARIABLE = 'MISSING_VARIABLE' + MISSING_FEATURE = 'MISSING_FEATURE' + MISSING_VARIATION = 'MISSING_VARIATION' + MISSING_VARIABLE_FOR_VARIATION = 'MISSING_VARIABLE_FOR_VARIATION' + USER_NOT_IN_ROLLOUT = 'USER_NOT_IN_ROLLOUT' + USER_NOT_TARGETED = 'USER_NOT_TARGETED' + INVALID_VARIABLE_TYPE = 'INVALID_VARIABLE_TYPE' + UNKNOWN = 'UNKNOWN' + end + + # Evaluation reasons for successful evaluations + module EVAL_REASONS + TARGETING_MATCH = 'TARGETING_MATCH' + SPLIT = 'SPLIT' + DEFAULT = 'DEFAULT' + DISABLED = 'DISABLED' + ERROR = 'ERROR' + OVERRIDE = 'OVERRIDE' + OPT_IN = 'OPT_IN' + end + + # Detailed evaluation reason descriptions + module EVAL_REASON_DETAILS + # All Users + ALL_USERS = 'All Users' + # Audiences + AUDIENCE_MATCH = 'Audience Match' + NOT_IN_AUDIENCE = 'Not in Audience' + # Opt-In + OPT_IN = 'Opt-In' + NOT_OPTED_IN = 'Not Opt-In' + # Overrides + OVERRIDE = 'Override' + # Split details + RANDOM_DISTRIBUTION = 'Random Distribution' + ROLLOUT = 'Rollout' + # User Specific + USER_ID = 'User ID' + EMAIL = 'Email' + COUNTRY = 'Country' + PLATFORM = 'Platform' + PLATFORM_VERSION = 'Platform Version' + APP_VERSION = 'App Version' + DEVICE_MODEL = 'Device Model' + CUSTOM_DATA = 'Custom Data' + # Error cases + ERROR = 'Error' + DEFAULT = 'Default' + UNKNOWN = 'Unknown' + end +end \ No newline at end of file diff --git a/lib/devcycle-ruby-server-sdk/localbucketing/proto/variableForUserParams.proto b/lib/devcycle-ruby-server-sdk/localbucketing/proto/variableForUserParams.proto index f774a6a..c61b062 100644 --- a/lib/devcycle-ruby-server-sdk/localbucketing/proto/variableForUserParams.proto +++ b/lib/devcycle-ruby-server-sdk/localbucketing/proto/variableForUserParams.proto @@ -66,4 +66,12 @@ message SDKVariable_PB { double doubleValue = 5; string stringValue = 6; NullableString evalReason = 7; + NullableString _feature = 8; + EvalReason_PB eval = 9; } + +message EvalReason_PB { + string reason = 1; + string details = 2; + string target_id = 3; +} \ No newline at end of file diff --git a/lib/devcycle-ruby-server-sdk/localbucketing/proto/variableForUserParams_pb.rb b/lib/devcycle-ruby-server-sdk/localbucketing/proto/variableForUserParams_pb.rb index 33f3587..8fd2d43 100644 --- a/lib/devcycle-ruby-server-sdk/localbucketing/proto/variableForUserParams_pb.rb +++ b/lib/devcycle-ruby-server-sdk/localbucketing/proto/variableForUserParams_pb.rb @@ -1,69 +1,34 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: variableForUserParams.proto require 'google/protobuf' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_file("variableForUserParams.proto", :syntax => :proto3) do - add_message "proto.NullableString" do - optional :value, :string, 1 - optional :isNull, :bool, 2 - end - add_message "proto.NullableDouble" do - optional :value, :double, 1 - optional :isNull, :bool, 2 - end - add_message "proto.CustomDataValue" do - optional :type, :enum, 1, "proto.CustomDataType" - optional :boolValue, :bool, 2 - optional :doubleValue, :double, 3 - optional :stringValue, :string, 4 - end - add_message "proto.NullableCustomData" do - map :value, :string, :message, 1, "proto.CustomDataValue" - optional :isNull, :bool, 2 - end - add_message "proto.VariableForUserParams_PB" do - optional :sdkKey, :string, 1 - optional :variableKey, :string, 2 - optional :variableType, :enum, 3, "proto.VariableType_PB" - optional :user, :message, 4, "proto.DVCUser_PB" - optional :shouldTrackEvent, :bool, 5 - end - add_message "proto.DVCUser_PB" do - optional :user_id, :string, 1 - optional :email, :message, 2, "proto.NullableString" - optional :name, :message, 3, "proto.NullableString" - optional :language, :message, 4, "proto.NullableString" - optional :country, :message, 5, "proto.NullableString" - optional :appBuild, :message, 6, "proto.NullableDouble" - optional :appVersion, :message, 7, "proto.NullableString" - optional :deviceModel, :message, 8, "proto.NullableString" - optional :customData, :message, 9, "proto.NullableCustomData" - optional :privateCustomData, :message, 10, "proto.NullableCustomData" - end - add_message "proto.SDKVariable_PB" do - optional :_id, :string, 1 - optional :type, :enum, 2, "proto.VariableType_PB" - optional :key, :string, 3 - optional :boolValue, :bool, 4 - optional :doubleValue, :double, 5 - optional :stringValue, :string, 6 - optional :evalReason, :message, 7, "proto.NullableString" - end - add_enum "proto.VariableType_PB" do - value :Boolean, 0 - value :Number, 1 - value :String, 2 - value :JSON, 3 - end - add_enum "proto.CustomDataType" do - value :Bool, 0 - value :Num, 1 - value :Str, 2 - value :Null, 3 + +descriptor_data = "\n\x1bvariableForUserParams.proto\x12\x05proto\"/\n\x0eNullableString\x12\r\n\x05value\x18\x01 \x01(\t\x12\x0e\n\x06isNull\x18\x02 \x01(\x08\"/\n\x0eNullableDouble\x12\r\n\x05value\x18\x01 \x01(\x01\x12\x0e\n\x06isNull\x18\x02 \x01(\x08\"s\n\x0f\x43ustomDataValue\x12#\n\x04type\x18\x01 \x01(\x0e\x32\x15.proto.CustomDataType\x12\x11\n\tboolValue\x18\x02 \x01(\x08\x12\x13\n\x0b\x64oubleValue\x18\x03 \x01(\x01\x12\x13\n\x0bstringValue\x18\x04 \x01(\t\"\x9f\x01\n\x12NullableCustomData\x12\x33\n\x05value\x18\x01 \x03(\x0b\x32$.proto.NullableCustomData.ValueEntry\x12\x0e\n\x06isNull\x18\x02 \x01(\x08\x1a\x44\n\nValueEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.proto.CustomDataValue:\x02\x38\x01\"\xa8\x01\n\x18VariableForUserParams_PB\x12\x0e\n\x06sdkKey\x18\x01 \x01(\t\x12\x13\n\x0bvariableKey\x18\x02 \x01(\t\x12,\n\x0cvariableType\x18\x03 \x01(\x0e\x32\x16.proto.VariableType_PB\x12\x1f\n\x04user\x18\x04 \x01(\x0b\x32\x11.proto.DVCUser_PB\x12\x18\n\x10shouldTrackEvent\x18\x05 \x01(\x08\"\x9e\x03\n\nDVCUser_PB\x12\x0f\n\x07user_id\x18\x01 \x01(\t\x12$\n\x05\x65mail\x18\x02 \x01(\x0b\x32\x15.proto.NullableString\x12#\n\x04name\x18\x03 \x01(\x0b\x32\x15.proto.NullableString\x12\'\n\x08language\x18\x04 \x01(\x0b\x32\x15.proto.NullableString\x12&\n\x07\x63ountry\x18\x05 \x01(\x0b\x32\x15.proto.NullableString\x12\'\n\x08\x61ppBuild\x18\x06 \x01(\x0b\x32\x15.proto.NullableDouble\x12)\n\nappVersion\x18\x07 \x01(\x0b\x32\x15.proto.NullableString\x12*\n\x0b\x64\x65viceModel\x18\x08 \x01(\x0b\x32\x15.proto.NullableString\x12-\n\ncustomData\x18\t \x01(\x0b\x32\x19.proto.NullableCustomData\x12\x34\n\x11privateCustomData\x18\n \x01(\x0b\x32\x19.proto.NullableCustomData\"\x85\x02\n\x0eSDKVariable_PB\x12\x0b\n\x03_id\x18\x01 \x01(\t\x12$\n\x04type\x18\x02 \x01(\x0e\x32\x16.proto.VariableType_PB\x12\x0b\n\x03key\x18\x03 \x01(\t\x12\x11\n\tboolValue\x18\x04 \x01(\x08\x12\x13\n\x0b\x64oubleValue\x18\x05 \x01(\x01\x12\x13\n\x0bstringValue\x18\x06 \x01(\t\x12)\n\nevalReason\x18\x07 \x01(\x0b\x32\x15.proto.NullableString\x12\'\n\x08_feature\x18\x08 \x01(\x0b\x32\x15.proto.NullableString\x12\"\n\x04\x65val\x18\t \x01(\x0b\x32\x14.proto.EvalReason_PB\"C\n\rEvalReason_PB\x12\x0e\n\x06reason\x18\x01 \x01(\t\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x12\x11\n\ttarget_id\x18\x03 \x01(\t*@\n\x0fVariableType_PB\x12\x0b\n\x07\x42oolean\x10\x00\x12\n\n\x06Number\x10\x01\x12\n\n\x06String\x10\x02\x12\x08\n\x04JSON\x10\x03*6\n\x0e\x43ustomDataType\x12\x08\n\x04\x42ool\x10\x00\x12\x07\n\x03Num\x10\x01\x12\x07\n\x03Str\x10\x02\x12\x08\n\x04Null\x10\x03\x62\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError => e + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" end end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." end module Proto @@ -74,6 +39,7 @@ module Proto VariableForUserParams_PB = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("proto.VariableForUserParams_PB").msgclass DVCUser_PB = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("proto.DVCUser_PB").msgclass SDKVariable_PB = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("proto.SDKVariable_PB").msgclass + EvalReason_PB = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("proto.EvalReason_PB").msgclass VariableType_PB = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("proto.VariableType_PB").enummodule CustomDataType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("proto.CustomDataType").enummodule end diff --git a/lib/devcycle-ruby-server-sdk/localbucketing/update_wasm.sh b/lib/devcycle-ruby-server-sdk/localbucketing/update_wasm.sh index aae4eee..5ef96e6 100755 --- a/lib/devcycle-ruby-server-sdk/localbucketing/update_wasm.sh +++ b/lib/devcycle-ruby-server-sdk/localbucketing/update_wasm.sh @@ -1,5 +1,5 @@ #!/bin/bash -BUCKETING_LIB_VERSION="1.35.1" +BUCKETING_LIB_VERSION="1.40.0" WAT_DOWNLOAD=0 rm bucketing-lib.release.wasm wget "https://unpkg.com/@devcycle/bucketing-assembly-script@$BUCKETING_LIB_VERSION/build/bucketing-lib.release.wasm" \ No newline at end of file diff --git a/lib/devcycle-ruby-server-sdk/models/feature.rb b/lib/devcycle-ruby-server-sdk/models/feature.rb index 55f5992..1ec9b04 100644 --- a/lib/devcycle-ruby-server-sdk/models/feature.rb +++ b/lib/devcycle-ruby-server-sdk/models/feature.rb @@ -34,7 +34,7 @@ class Feature attr_accessor :variationName # Evaluation reasoning - attr_accessor :eval_reason + attr_accessor :eval class EnumAttributeValidator attr_reader :datatype @@ -67,7 +67,7 @@ def self.attribute_map :'_variation' => :'_variation', :'variationKey' => :'variationKey', :'variationName' => :'variationName', - :'eval_reason' => :'evalReason' + :'eval' => :'eval' } end @@ -133,10 +133,6 @@ def initialize(attributes = {}) if attributes.key?(:'variationName') self.variationName = attributes[:'variationName'] end - - if attributes.key?(:'eval_reason') - self.eval_reason = attributes[:'eval_reason'] - end end # Show invalid properties with the reasons. Usually used together with valid? diff --git a/lib/devcycle-ruby-server-sdk/models/variable.rb b/lib/devcycle-ruby-server-sdk/models/variable.rb index 3fbd4b3..675c3c8 100644 --- a/lib/devcycle-ruby-server-sdk/models/variable.rb +++ b/lib/devcycle-ruby-server-sdk/models/variable.rb @@ -29,6 +29,9 @@ class Variable attr_accessor :defaultValue + # Variable evaluation details + attr_accessor :eval + class EnumAttributeValidator attr_reader :datatype attr_reader :allowable_values @@ -58,7 +61,8 @@ def self.attribute_map :'type' => :'type', :'value' => :'value', :'defaultValue' => :'defaultValue', - :'isDefaulted' => :'isDefaulted' + :'isDefaulted' => :'isDefaulted', + :'eval' => :'eval' } end @@ -120,6 +124,10 @@ def initialize(attributes = {}) if attributes.key?(:'defaultValue') self.defaultValue = attributes[:'defaultValue'] end + + if attributes.key?(:'eval') + self.eval = attributes[:'eval'] + end end # Show invalid properties with the reasons. Usually used together with valid? diff --git a/spec/api/devcycle_api_spec.rb b/spec/api/devcycle_api_spec.rb index b0a0ce6..437c210 100644 --- a/spec/api/devcycle_api_spec.rb +++ b/spec/api/devcycle_api_spec.rb @@ -21,16 +21,18 @@ sdk_key = ENV["DEVCYCLE_SERVER_SDK_KEY"] if sdk_key.nil? puts("SDK KEY NOT SET - SKIPPING INIT") - return + @skip_tests = true + else + # run before each test + options = DevCycle::Options.new(enable_cloud_bucketing: true) + @api_instance = DevCycle::Client.new(sdk_key, options) + + @user = DevCycle::User.new({ + user_id: 'test-user', + appVersion: '1.2.3' + }) + @skip_tests = false end - # run before each test - options = DevCycle::Options.new(enable_cloud_bucketing: true) - @api_instance = DevCycle::Client.new(sdk_key, options) - - @user = DevCycle::User.new({ - user_id: 'test-user', - appVersion: '1.2.3' - }) end after do From f3c74285bb434c4ba0a6e1c8996f5ec35bd7411b Mon Sep 17 00:00:00 2001 From: Jason Salaber Date: Wed, 23 Jul 2025 13:55:49 -0400 Subject: [PATCH 02/11] chore: add eval reason capability to ruby --- .github/workflows/test-harness.yml | 1 + lib/devcycle-ruby-server-sdk/api/client.rb | 6 ++---- lib/devcycle-ruby-server-sdk/eval_reasons.rb | 17 ++++++++++++++++- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test-harness.yml b/.github/workflows/test-harness.yml index d1957ea..fd1ad1f 100644 --- a/.github/workflows/test-harness.yml +++ b/.github/workflows/test-harness.yml @@ -14,3 +14,4 @@ jobs: with: sdks-to-test: ruby sdk-github-sha: ${{github.event.pull_request.head.sha}} + sdk-capabilities: '{ "Ruby": ["ClientCustomData", "V2Config", "VariableFeatureId", "AllVariables", "AllFeatures", "cloudEvalReason", "evalReason"]}' diff --git a/lib/devcycle-ruby-server-sdk/api/client.rb b/lib/devcycle-ruby-server-sdk/api/client.rb index 7a80eac..578d949 100644 --- a/lib/devcycle-ruby-server-sdk/api/client.rb +++ b/lib/devcycle-ruby-server-sdk/api/client.rb @@ -195,7 +195,7 @@ def variable(user, key, default, opts = {}) value = default type = determine_variable_type(default) defaulted = true - eval = { reason: DevCycle::DEFAULT_REASONS::UNKNOWN, details: DevCycle::EVAL_REASON_DETAILS::UNKNOWN } + eval = { reason: DevCycle::EVAL_REASONS::DEFAULT, details: DevCycle::DEFAULT_REASON_DETAILS::USER_NOT_TARGETED } if local_bucketing_initialized? && @local_bucketing.has_config type_code = variable_type_code_from_type(type) variable_pb = variable_for_user_pb(user, key, type_code) @@ -203,8 +203,6 @@ def variable(user, key, default, opts = {}) value = get_variable_value(variable_pb) defaulted = false eval = get_eval_reason(variable_pb) - else - eval = { reason: DevCycle::DEFAULT_REASONS::USER_NOT_TARGETED, details: DevCycle::DEFAULT_REASONS::USER_NOT_TARGETED } end else @logger.warn("Local bucketing not initialized, returning default value for variable #{key}") @@ -581,7 +579,7 @@ def get_variable_value(variable_pb) def get_eval_reason(variable_pb) if variable_pb.eval.nil? - { reason: DevCycle::DEFAULT_REASONS::UNKNOWN, details: DevCycle::DEFAULT_REASONS::UNKNOWN } + { reason: DevCycle::DEFAULT_REASONS::USER_NOT_TARGETED, details: DevCycle::DEFAULT_REASON_DETAILS::USER_NOT_TARGETED } else puts ("variable_pb.eval bruh: #{variable_pb.eval}") { reason: variable_pb.eval.reason, details: variable_pb.eval.details } diff --git a/lib/devcycle-ruby-server-sdk/eval_reasons.rb b/lib/devcycle-ruby-server-sdk/eval_reasons.rb index 53274fa..8c242cd 100644 --- a/lib/devcycle-ruby-server-sdk/eval_reasons.rb +++ b/lib/devcycle-ruby-server-sdk/eval_reasons.rb @@ -52,4 +52,19 @@ module EVAL_REASON_DETAILS DEFAULT = 'Default' UNKNOWN = 'Unknown' end -end \ No newline at end of file + + # Default reason details2 + module DEFAULT_REASON_DETAILS + MISSING_CONFIG = 'Missing Config' + MISSING_VARIABLE = 'Missing Variable' + MISSING_FEATURE = 'Missing Feature' + MISSING_VARIATION = 'Missing Variation' + MISSING_VARIABLE_FOR_VARIATION = 'Missing Variable for Variation' + USER_NOT_IN_ROLLOUT = 'User Not in Rollout' + USER_NOT_TARGETED = 'User Not Targeted' + INVALID_VARIABLE_TYPE = 'Invalid Variable Type' + TYPE_MISMATCH = 'Variable Type Mismatch' + UNKNOWN = 'Unknown' + ERROR = 'Error' + end +end From ebe0e9fd02e58b983b246b9512cf9ad768ce70cb Mon Sep 17 00:00:00 2001 From: Jason Salaber Date: Fri, 25 Jul 2025 10:33:20 -0400 Subject: [PATCH 03/11] chore: update bucketing lib and use correct eval reasons --- lib/devcycle-ruby-server-sdk/api/client.rb | 16 ++++++++++------ lib/devcycle-ruby-server-sdk/eval_reasons.rb | 3 ++- .../localbucketing/bucketing-lib.release.wasm | Bin 215612 -> 221800 bytes .../localbucketing/update_wasm.sh | 2 +- .../models/feature.rb | 8 ++++++-- 5 files changed, 19 insertions(+), 10 deletions(-) diff --git a/lib/devcycle-ruby-server-sdk/api/client.rb b/lib/devcycle-ruby-server-sdk/api/client.rb index 578d949..b218199 100644 --- a/lib/devcycle-ruby-server-sdk/api/client.rb +++ b/lib/devcycle-ruby-server-sdk/api/client.rb @@ -195,16 +195,17 @@ def variable(user, key, default, opts = {}) value = default type = determine_variable_type(default) defaulted = true - eval = { reason: DevCycle::EVAL_REASONS::DEFAULT, details: DevCycle::DEFAULT_REASON_DETAILS::USER_NOT_TARGETED } + eval = { reason: DevCycle::DEFAULT_REASONS::USER_NOT_TARGETED, details: DevCycle::DEFAULT_REASON_DETAILS::USER_NOT_TARGETED } if local_bucketing_initialized? && @local_bucketing.has_config type_code = variable_type_code_from_type(type) variable_pb = variable_for_user_pb(user, key, type_code) unless variable_pb.nil? value = get_variable_value(variable_pb) defaulted = false - eval = get_eval_reason(variable_pb) end + eval = get_eval_reason(variable_pb) else + eval = { reason: DevCycle::DEFAULT_REASONS::DEFAULT, details: DevCycle::DEFAULT_REASON_DETAILS::MISSING_CONFIG } @logger.warn("Local bucketing not initialized, returning default value for variable #{key}") variable_event = Event.new({ type: DevCycle::EventTypes[:agg_variable_defaulted], target: key }) bucketed_config = BucketedUserConfig.new({}, {}, {}, {}, {}, {}, []) @@ -578,11 +579,14 @@ def get_variable_value(variable_pb) end def get_eval_reason(variable_pb) - if variable_pb.eval.nil? - { reason: DevCycle::DEFAULT_REASONS::USER_NOT_TARGETED, details: DevCycle::DEFAULT_REASON_DETAILS::USER_NOT_TARGETED } + if variable_pb.nil? + { reason: DevCycle::DEFAULT_REASONS::DEFAULT, details: DevCycle::DEFAULT_REASON_DETAILS::USER_NOT_TARGETED} else - puts ("variable_pb.eval bruh: #{variable_pb.eval}") - { reason: variable_pb.eval.reason, details: variable_pb.eval.details } + if variable_pb.eval.nil? + { reason: DevCycle::DEFAULT_REASONS::USER_NOT_TARGETED, details: DevCycle::DEFAULT_REASON_DETAILS::USER_NOT_TARGETED } + else + { reason: variable_pb.eval.reason, details: variable_pb.eval.details, target_id: variable_pb.eval.target_id } + end end end diff --git a/lib/devcycle-ruby-server-sdk/eval_reasons.rb b/lib/devcycle-ruby-server-sdk/eval_reasons.rb index 8c242cd..72c6650 100644 --- a/lib/devcycle-ruby-server-sdk/eval_reasons.rb +++ b/lib/devcycle-ruby-server-sdk/eval_reasons.rb @@ -10,6 +10,7 @@ module DEFAULT_REASONS USER_NOT_TARGETED = 'USER_NOT_TARGETED' INVALID_VARIABLE_TYPE = 'INVALID_VARIABLE_TYPE' UNKNOWN = 'UNKNOWN' + DEFAULT = 'DEFAULT' end # Evaluation reasons for successful evaluations @@ -53,7 +54,7 @@ module EVAL_REASON_DETAILS UNKNOWN = 'Unknown' end - # Default reason details2 + # Default reason details module DEFAULT_REASON_DETAILS MISSING_CONFIG = 'Missing Config' MISSING_VARIABLE = 'Missing Variable' diff --git a/lib/devcycle-ruby-server-sdk/localbucketing/bucketing-lib.release.wasm b/lib/devcycle-ruby-server-sdk/localbucketing/bucketing-lib.release.wasm index f3c33d6a7c6e51c40b6b48d90c106cded59f9595..3e4843f09f8fc54cfb8f4d852f88f3c32a39d3e2 100644 GIT binary patch literal 221800 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%0AcHF|BAoVrc_ebH$d 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�h`&syu;mZrrH9){k5CV5!9?x6(nWGr6zh}}sE%GLMjH03M5sSN8tV?}lzyJW zdCjDo<-9}0d7Xj=uP)Mg!fV!M@N!WnH0vw%Yykj`Z_W zk?nd;tv#f%z8Z=e=~@#R6}J4z)!9ZGn{6`MH5-Mb?9_Yc&_y~)Ez?TQ>M;ck`h7_Q zq%rn9Z+hCdiZnK)G*T{B`R)E~2WhO;XF$L37d-iLZj($n{?#wEB=~oiF1*&Ijo)$U zxdWCqTy;Pg@NdJ;XIOgGFF$VS^84>sT0X5czlgN&lB4D+{p|G<&m&#tE0Sz@8 zu;qfbadQU$3R+815`PPdM+&Rga=nqpxTzgCnUz*jWpDOrFlkD|kw{Zrm!tm5uwK|p zSsKE9q_N{L6_qK1iZx6SHvLafe3ksk0+;^1pG!_kNp2$lRvn5o0LZLc(ipvJ?$JEl zN|U?_gv_K0XR#cWdG0x>Wq>k~z-^?le2{Id&_~#*w;NMrZ8(sEA6_tV5RBK4{Sk&-ml3L<1p!Z-arDDG29QpwMC zQd|7nx=3H4o*&1R?&+}CL-eH~(&&bRf&jh7=WsYx28$-?;mo?>cHXI; z4yAG{{e6$W@Avluq;Ypd;vj4qbTu@S#_B*Sb~Qs;2BU_ubxEfn)gIEg9GS-&l3}lZ z+eaEJiy0Uh{(0l`sptFCb=(`1q@SM%)%^3W^z&0FpZnJzL+jJrtm#etTctsjO4s>& z0(|bDPuERyw;Ncv-~Iv!z&jnJL-J0#yQ+AnUnS5v1EjGJT$^{omKR-ZZKSccA=t`! zElE!ed|4BYL&;Iaa}#LCLa#_0e7f#%6jejcsM<^#D_>O;w(HGOnoIfyagwI^-pXIC zCp#i`RZa!=WcqY9Xh?vcZAhFzA16x5xuud%PR_j7mE24kix3%kmEnUV2B!(Wh@5Vj zQJT<h|M$JHI*jrAuEN_lp(b(;s>BHxCmAp& zU--!%eeh3vT{^Yp_vf8(*}{(;-TlRrANb0tm+ySo`{up*xi=nsed*iBH6Jzqg5Te; z_WOstZ|@&nz2=wCeEi;z-~Zq>txvV@w|n#0IZuE1%X9a8?(F$rKJ@VK{p8V~bzSwf z`+qud-^CB#cf$|%{`v!-Uh&bZZaMv3^()&S`rEHh8~>KGZvWgq|NWguK05IDUpg9I z{6gCu_uTWr*I%)6#A&C$|AblJn)9|7JAZJ}K41Gt)78h`@QruBdR6_U&pvu>$5S1j z{>G!XUjME&jSrso`GE&-YP&C_ zCq^E+|9;;sEq(H**IjhZC+h3Ju)`07EB}1Y`=9^A#GS4?bM#Z4-HpdzFs8e+Y5MY4 zKK_>7zxrb_3M|v2zolD#)`#e9zwZy1-Eq~J>jy4daQJ)g+I7?q-ub}C*RNXo`*%KY z;JdGVd&BQ;zj^*oetzWC8+YGl-{U^L?{nY%+3e4r@yE71x|-%Me`MW5%Wt3f;nCl} z^2R+bT=eW7r+)V>znygJ^mE>L-S0oNYT}uH%KiHFmp*;tCq8%HXRluIuDjoP*_c0H zI^p5VKl9{?cYpi7o8EfeHE+G9hdyY6cJ_}`b_z2C>4IIZ;)-}v;BNA_-7 z@X(xZ-*n5;Pd9&V^^M>A+XLVH-H9jM+xykW!>NDX{V#)!w_LXLr#C%N?tb)yDewHt zDZ4cvGHcI|_ukX`_zibGvGjx=|Ele<#kbx3t1E7LuC(~(+m1QrlCMu}S@@NwKYaTK zr(bpQt)-{;-0aW+lQy4V_jy5M@Y&!SK~M1KV0>=h+@jpl+@-nea_zbA z=N`)q=61`^&L5LMEC1g7P5H0nH{}12AIb53hZasMtSWr4a7$r*;n#(~7Iv)LkI3`d z59W%~axep1W{^*~4Jeb+zU-s9CKoJRv}4e4Lvs*3_SX@?4{wxh1i0Boq_N1XwvDRe zt20saTCEjL^+-j!RXmY})Z~Ov8|j$qK|~Wec>JCId6!aDd9T0k6Wqr<9G>`~f8O{Z z2iKys8#{>fJ7)WK0z4KOTl>G^%Kb`Hs&dby7Hw$GOxA*I1vh_J#zIj5xe{8zPd5i6 z^GYV1EC&U(sxb}wKkP^}KpI;cnlG|tB~91z_86owY3!a?cTHsF$Yhlr;}(>zp+;Mj z+N)B~1${~(_n=Z_eB;_&Vhp~OS(0fsPjUtMuHe@UmaE{bw*#fz9i*`)nE}jx*kJx$ zk5WqRS9%zx0%;r~sibb2Ceojx)-vk(h_6Q}Wp(@e9)I6YI&m`nowkf*YwBOa>rh?S zk#Qx&B0X6uPqEvV$^x~K#K0I-E&UMhqq*Wk#)Chjnp%B(B9?($SnT!-IQud?2fCcO zwJev2BI313*SY~E+s4hSs`q6$Y34DqN>!%n((J0JOs-OQqh-ZLk^2F#OdA=K)*@{ zaDX(9tPHp9E*fpU(fJ9=nU3Q`8ar_cL|l+W3j00G0BP(?NTh1Bhak_7wMp1=qbskC zG&V6MgvAA#84-hr-GV~o^pM6PCkyrFs-BXFW{-K(O)hUU=}hs@G_IsyUE7At-L2fT zw}&(~l`C^=b*SJN0gWxW;?b&Q5mz=g6-CFip=}BFz_21>y_Bbx_mRdCq-su+Akmn* zEaLT+Pm*skT9kB5E4WB2E3U5RE9pPdWy13muF4RO;$jjf5?bmnZEvb<^Aet~j-zR( zA%_2X66g({~b$doJe89Rkf9a zegNa_?vCs1B) zw137?r-Sq~)u8pjX`Cx%T2|^hxqJ~Nt3DYz+IyjK7tKeCvJoy}%V%AC+DKzMRktU} zkzhYFRZjBMw_;G`UO^v!E|)BuspQK_9vo`aN{+kun#P4z*hdktblV+oQJ?s;@#d6v z5&x;@Yth1)g9#=v2X#|IO+~u)-{=tjmDqjR50HlC0BNj9RoF^ns<4S8zD0&+(sR_A zr*l=3L4(t=vZjub+)=ZW=DG$XWOBkz)_^8a(pzF~rC!*-ne;f-dlXl7w?@NKHfUOr zDIgy0SWGJw-?{xN{V-Zh8i%JUg+L{iC#FR}`)!VH9i(G!1~-W__TP8==RKsc()34? z^!s-M>31&n95%JN@|sCwi(E{ro(S9Zb~-|fG*(KdL9?`43VQ_wbRX%dqS>3dhFT&J zO(r)e_m^VX<#NG@CJ!IqUDV6UakB6cXv~CEpWuhGzqb_MoU2V2e+)U!lLhHSPf+PD# zV~!lEO#z+}!*f=cQk4OP3A zLR3n*Xl5WQ;UYnvnL}z>hv=P78ELOkvqKwC<`4fgJJb!3S#qQ?+ewtJ;XkJ*WXB0g zjr>xs_!^<6X!~(AFPaBWhO1Di)c+Z@x+$Y3T5F}E`6sjn0kR6eoT6$7^~8mWJjhIv z>9OVND4}L`rGHOV2au@HcvosjOYCL694OHagoOl1V-b0piAWt=qPOZo(s`nj))YvD zJ4IIQN!9MSyN5t|V+!SNfUGLg*mc>w?8{2(NaEe&%4s8wyLM~JNsYFCl?53GNT;az z6S-t`N_s4}Wjh)dildtY)AAJu-$oisQjKV>q;{G>CWiqz6)MXZu` z=)-Og*+Uw;Q|TxN6QR&79Q1IF|CQ2CY2!@{$~*Nz2WdQ@wZc7;;6~4057n10DINHs zq^7SqYBVb)D%DO}b0npvslr}>hCQv*^mT`8GigfOYN1!GZ94^{J|T_gSe->8rvp5D z1<^w9kS5Clh8z7_LI*}+%Cu0`+J(xQJB?%cRBjzm6mpWFmvT=0vjg}Y4t9bTOw;&{ zTyoG#Ld-$4jy>F_W~ccjdK_ zriNN&cp7Hu79{M{LpnCc@UG+1aew{3hyl`g44y{UX3u5`TfXJ1B8^d(R!=SH?iLJP z-$NSP5$Yz%v^B^sjm3(&_oi>Va+^ux`jb41$!oLlor0qQU8M1NaB#BJG#)%eAL*D| zy%f`8Ks|@(jo(SxLe5fgbHDOkV(HZmlK74v@wcR@w`4 z^3iu{%XeL=ZKSdKRES0k|H4lHwu^Mk7kr&N(jx!7PbqZ{`uoQFfVoM_q|lOLhW*L$jxt`4F@Q|BOxI>II%HnEoO?A zdYu5pwSbe7&1)i!^;@Owmky&u&bY9UK9xREjqfl)ln!(xL4~mU`>vKA(vze`kL9Wj zD>r{7n8~-3P3^Xd2L)AKyOELnmE)dX;1GrJT?rayWv~9Sk*Ki$2d-NONaOf?LXL!R$B{o8 z80p;-%P2YO$ci<4-9L0?_mIYAZ{A>0D=K4K*_yq{*8U^PK8B%5dbp@JpDXKfgf^6A zNV#a<8L4hQ2Ffa$`rZ@5XLa@?M zUxU;5c797koZy)@Y`UNPD+#uc{=4$OiA&*-$c>6vUSdwB|2b^&)1L6e7!X@Z6f1lX z^~(V%``g8~R1ef^d?2M0hmWU~(M?{J(UUHt+Fp>0?{=MyNBqBhnsEahV&Z{fB$U0gYNSdXxDz{5IY}&Ae3O7(;J3#7%4$@`n1x3PL z#5dc6Wz?8lF$q11h%&BfIu2XgHLDUAEkC9{)Jz*`tj-jMlU1hhLf9#Y!yo}^9P8ga zF0P-IPyPIp6kqH75{<&N1L>rTc2~I-tnz*}Z{WvAH~DJ{v<+`pFJV2LgBAoxWE&uj z!_C#hJz=v%xXd&un+%OCS+hj-0-*P&j%a6y~Px6+LJ#Q}b-FIZbU*h)PO!c0TwH{oy9$~~V;e2Kf;f>DVW(i5=tt6bs)99K z)hbTLe|Ai}sC6{@FNIvrfs~4>bs|!AAU7SWmksy}hjkBWY{FIa`k-JSN#ide$(>*- z67LL2xi@}Q3W+=YeV5>(u6P9+&Oh(d^L0M|E_9Keiz|ClfeksQ3Oj2QC4mj`pPtAS zPR7~MJaaOL5=`Eb#66{ z-Z!gso*D;l6L4*Lh>DgnI7nj+?N-AlT$|<`XR0MVv>EL`sIt||y{TTV76*|}l&siK zYW73Dn-XkjlE(5e?ed5Hf`GsSq_M*bsf&1R ze*U*|C*@`+(f$baK;;h7c!kvxu#;Wlx=n{7M)gKkR&}JTYNDa(QCD&^X&efFX(cD^ zj_MEledz<~(j8niwi42-U}>4h!{U$bjgI;~q^D|VX_6$1dvz^YsW|MqIv=Ahc(IE# zR9y-yyM-=E9j?EJg?rQEl!s(&CXG2#gIWA7n>}n71RU8x8p~HXdE!XvbtF))hv_4Y zxi-z$l5=6x6TU9eF<%02N#R|o!9VZN^Dq17yCK>A^Bz6F%Rk>8MdqIm==t6L`2@;; z(w9#<<{tn2m6WgNO|*dYJ)+rVT-uGMDaIApL&odOF3n|6*HLazoYhcYA5}e zb<2mTUS^`)Z|#*)&_`ZiI(%DAh{^zO#AyolYQdbWo7IeZDcr3_viJ8O$%yYGjkg@U zGhp}qpnuc&hYDFBdqYuGc7Ku=ST6A>SObkCcWqEy?JN^Fo`X~6_5%tbLfs$kgX&fu4B|DP6gXw@-G^OgTk*239Z7H&!^aS;0 z?R7h8yCys7B=a#^SC|dP`5O9F1H3jsI%YjJNa9a|)SKM%X3{a=^3Q>5*K_!*gEZxV zI1ba;In&!f+Q8&t`$+c`_7k||qhACEo&c=;zBtg@^xu?x1#Kl=A!scpPX{(tcGRco zc2)MI>pAC54o}1W*|n*eG#)dO2-(@lV|ikW0y;f>7irwCYWOIwE@+r^fb?Ru>wK3wDqTuVe@$75S)O!4hqV72 z&rme|%|SMkrXZ6bam;s}9@je!eGTRnL({9i&I7HZ9jt6tLD| zQc}UECo^-{_PE|E4ed z28(vkziIq?rXB+KEj+P$vTx9Qo&HT%_6@5)d;Oa}(%6F5xd|>%2PT7pfUg>#O9gJy zip($OYUjOb?;wp!lJ(%?$cl9cf|7bjV_RHfNK$?^5)7C@57Ri9s;xTe5VrH)WG!jT z!%1zDf$B}#-s>UzNK-tl8Wn>`RfrwrK3tfn{dSMf=4kk>JTs_`(W`$8_+sd+SINM>q8D(a%?ebGtMCptAb z>?DVzNf&ACb5_bux29u-Kl4MRyNW+ah*fCv>ferF>X7p64F1<-V(|!61JFoP3l1_?p zl*VSEto%(t>=Q#!j%!sArvd-;44AO(Dsa|~t~ws9=fNvfj{c?7a1(EGi-Pc~s~sk5 zNefnE2fvKSUD1z*Ybb^C?VnOz275DaM*1fQmM*&B;?-v?f8(-MtIj$9?33PfO!F(q$K&cffheR{cM0+H$D? literal 215612 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 REI;_trEAVV`23}-{x7~vs%HQI diff --git a/lib/devcycle-ruby-server-sdk/localbucketing/update_wasm.sh b/lib/devcycle-ruby-server-sdk/localbucketing/update_wasm.sh index 5ef96e6..7509704 100755 --- a/lib/devcycle-ruby-server-sdk/localbucketing/update_wasm.sh +++ b/lib/devcycle-ruby-server-sdk/localbucketing/update_wasm.sh @@ -2,4 +2,4 @@ BUCKETING_LIB_VERSION="1.40.0" WAT_DOWNLOAD=0 rm bucketing-lib.release.wasm -wget "https://unpkg.com/@devcycle/bucketing-assembly-script@$BUCKETING_LIB_VERSION/build/bucketing-lib.release.wasm" \ No newline at end of file +wget "https://unpkg.com/@devcycle/bucketing-assembly-script@$BUCKETING_LIB_VERSION/build/bucketing-lib.release.wasm" diff --git a/lib/devcycle-ruby-server-sdk/models/feature.rb b/lib/devcycle-ruby-server-sdk/models/feature.rb index 1ec9b04..55f5992 100644 --- a/lib/devcycle-ruby-server-sdk/models/feature.rb +++ b/lib/devcycle-ruby-server-sdk/models/feature.rb @@ -34,7 +34,7 @@ class Feature attr_accessor :variationName # Evaluation reasoning - attr_accessor :eval + attr_accessor :eval_reason class EnumAttributeValidator attr_reader :datatype @@ -67,7 +67,7 @@ def self.attribute_map :'_variation' => :'_variation', :'variationKey' => :'variationKey', :'variationName' => :'variationName', - :'eval' => :'eval' + :'eval_reason' => :'evalReason' } end @@ -133,6 +133,10 @@ def initialize(attributes = {}) if attributes.key?(:'variationName') self.variationName = attributes[:'variationName'] end + + if attributes.key?(:'eval_reason') + self.eval_reason = attributes[:'eval_reason'] + end end # Show invalid properties with the reasons. Usually used together with valid? From 21eb47e9fcd61b099c25f4e73929526ee8726497 Mon Sep 17 00:00:00 2001 From: Jason Salaber Date: Fri, 25 Jul 2025 11:26:24 -0400 Subject: [PATCH 04/11] chore: attempt to debug failing harness tests --- .github/workflows/test-harness.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-harness.yml b/.github/workflows/test-harness.yml index fd1ad1f..345207b 100644 --- a/.github/workflows/test-harness.yml +++ b/.github/workflows/test-harness.yml @@ -14,4 +14,4 @@ jobs: with: sdks-to-test: ruby sdk-github-sha: ${{github.event.pull_request.head.sha}} - sdk-capabilities: '{ "Ruby": ["ClientCustomData", "V2Config", "VariableFeatureId", "AllVariables", "AllFeatures", "cloudEvalReason", "evalReason"]}' + sdk-capabilities: '{ "Ruby": ["clientCustomData", "v2Config", "variableFeatureId", "allVariables", "allFeatures", "evalReason", "cloudEvalReason", "eventsEvalReason"]}' From de856e49bb5a1a65a8ddf1d0dcde9fa04816046c Mon Sep 17 00:00:00 2001 From: Jason Salaber Date: Fri, 25 Jul 2025 13:01:56 -0400 Subject: [PATCH 05/11] chore: fix _feature being returned in allVariables --- lib/devcycle-ruby-server-sdk/api/client.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/devcycle-ruby-server-sdk/api/client.rb b/lib/devcycle-ruby-server-sdk/api/client.rb index b218199..69581cd 100644 --- a/lib/devcycle-ruby-server-sdk/api/client.rb +++ b/lib/devcycle-ruby-server-sdk/api/client.rb @@ -353,7 +353,7 @@ def all_variables(user, opts = {}) if local_bucketing_initialized? && @local_bucketing.has_config bucketed_config = @local_bucketing.generate_bucketed_config(user) - bucketed_config.variables + bucketed_config.variables.reject { |key, _| key.start_with?('_feature') } else {} end From 94f4927c588aa4aaac06f559414245f926cd9fbf Mon Sep 17 00:00:00 2001 From: Jason Salaber Date: Fri, 25 Jul 2025 13:21:03 -0400 Subject: [PATCH 06/11] fix: filter out _feature in allVariables return --- lib/devcycle-ruby-server-sdk/api/client.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/devcycle-ruby-server-sdk/api/client.rb b/lib/devcycle-ruby-server-sdk/api/client.rb index 69581cd..7bf27a3 100644 --- a/lib/devcycle-ruby-server-sdk/api/client.rb +++ b/lib/devcycle-ruby-server-sdk/api/client.rb @@ -353,7 +353,12 @@ def all_variables(user, opts = {}) if local_bucketing_initialized? && @local_bucketing.has_config bucketed_config = @local_bucketing.generate_bucketed_config(user) - bucketed_config.variables.reject { |key, _| key.start_with?('_feature') } + bucketed_config.variables.transform_values do |variable| + variable.delete(:_feature) + variable + end + bucketed_config.variables + else {} end From 704179e72fc54ac08f134459bbd019675919cc78 Mon Sep 17 00:00:00 2001 From: Jason Salaber Date: Fri, 25 Jul 2025 13:47:47 -0400 Subject: [PATCH 07/11] chore: add eval reason to agg_variable_defaulted metadata --- lib/devcycle-ruby-server-sdk/api/client.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/devcycle-ruby-server-sdk/api/client.rb b/lib/devcycle-ruby-server-sdk/api/client.rb index 7bf27a3..6630594 100644 --- a/lib/devcycle-ruby-server-sdk/api/client.rb +++ b/lib/devcycle-ruby-server-sdk/api/client.rb @@ -207,7 +207,7 @@ def variable(user, key, default, opts = {}) else eval = { reason: DevCycle::DEFAULT_REASONS::DEFAULT, details: DevCycle::DEFAULT_REASON_DETAILS::MISSING_CONFIG } @logger.warn("Local bucketing not initialized, returning default value for variable #{key}") - variable_event = Event.new({ type: DevCycle::EventTypes[:agg_variable_defaulted], target: key }) + variable_event = Event.new({ type: DevCycle::EventTypes[:agg_variable_defaulted], target: key, metadata: { evalReason: DevCycle::DEFAULT_REASONS::DEFAULT }}) bucketed_config = BucketedUserConfig.new({}, {}, {}, {}, {}, {}, []) @event_queue.queue_aggregate_event(variable_event, bucketed_config) end From ff845c1965d373c56b1382741ed77b7476a93c25 Mon Sep 17 00:00:00 2001 From: Jason Salaber Date: Fri, 25 Jul 2025 13:56:01 -0400 Subject: [PATCH 08/11] chore: update bucketing lib for events eval reasons --- .../localbucketing/bucketing-lib.release.wasm | Bin 221800 -> 223167 bytes .../localbucketing/update_wasm.sh | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/devcycle-ruby-server-sdk/localbucketing/bucketing-lib.release.wasm b/lib/devcycle-ruby-server-sdk/localbucketing/bucketing-lib.release.wasm index 3e4843f09f8fc54cfb8f4d852f88f3c32a39d3e2..80994caaf48cfdb6c52d2eee9d4df25d479899fd 100644 GIT binary patch delta 48401 zcmc${2Vhi1*FU^7cT+YAWJ7x26d?2<(xik-lO|H^A`%4^rGwZ>P!vQ;@Cp+YF<6lr zj1oXf02PoH9vdiN5Cv3}U@sBA-vankrCpauKV2nbAX`jysTYVM@b zxwnlO)qDJ;YbTGIbnBq*j#FB=E!J_`7#x_=?Ti*adDN6aV{)h5F@Dn6p1D(U9bapa zwkX-iH(JE)V@Bmp^2__Ju{O}d&Kl)`QO&;7>Y-eZ@#F3oeW$GGdo9{8;`-53?&>uq z_fE$-BRnWJu2QzsW6bDLLq*Pw*FAGF9jM@<>pvw#0l5A>cieypn2 z@uLm9v7?X>kKj}=YC7SAy zQ$O2S=89ua8Jk?5=s8ZePv2GXxyCuPGtUSONlBaU3>kI%UE_yNnKXLbosI%$eF|MW zdfb!_`lLy@4>$^pejy1%7B~~AmTFjCJz)yQHd)p8v@^nNLuOEshBMBL95M=1Vis0u z&p4xvgCWt}vC!Bb;<;v#GnoHJbM;^jorR`8FoQkG3?}g3v+Q^FCtJne;h*v^_*eW4 zKhI}qbF>B8Gul#ZnYNM_X)kN9Ypb<2+8O?~_O=$r{|E|snJqb%V)WdZ?MSppE$&j!xXL|Wer|xLS9eSmqJX$x8Lyzt2 zBnSD*XBzo#Pgi8SoAQnDFrD3<#==-=C^Eq7ATP2x^`8u9jzf1(al0s(860{G<9W!0 z?i_cYiv-1xwW3ey9MyBTFe)NmLvKr-Z1A%dy?Z9_Q_qp%=YOf^(V9XM*Fz2DTU6^42K?ecc#PR$V`IQ32%6) zUV$za%rbVwO|3^Y0W4-r@zki28{>nRe{{*%gl9Rm;Y!Z;X*xRUXNNmHoj{g>2HJ6_ z?sk7*OixK-g<@S3mc%{~=d<7xibETDhlmjB%RQOMjM2~lssGVYfBc(D40ozC(ClnN zYJwM1=}f{3QxdFK8GTa|%z-KT*;l z?Ymmjg7uk3zl^I{Vac-@vxEErWwdVgdSKDdOwT`UR5WYI3w|?#nvdk=zm<$_K8O(n zx3##QoVb>^#i_}Ok~2bGvmj$EyFAi(rDbncXq;`CiQHmZJZq7rvIqN4Aa#@x9{&&o z^fK1nlx~c@GT4~iDlI^cUPKUnlnr$nyIOTt6BlBv`z^*u&CaM_@H@kd0Vm;cZ#D*H zCsW79XLqSztWuZ`4^lQ|H&JDSjlr#>jSJanlrgP!Q*y3S&Vn{E#{AY%DxXs<(^!nL zt@Y(9tf_GLWj$4x8|zxd7~?Oynkp!}>{@F+6WdIom<4UJ$=TT^FA-xV1SS~iJe<7M zP`c&v?5M3;FDyEVZ7H$;Wui-|+JqoIJo=a#>3qUHv#S@q$k3C8*UQZ zEyhdj8nII2{dSEbo0qG{|xEgWRmy@JWKC~w-;S2X11Cyj#6 z2~p)I8A$6H2I@q(jw&io8WFt{qAF`76jh0$WjwAe(~GJYsy)NPno#xIRVzz@DhTaR zq4yOoy1i|tc4`_?wiay!D?%6s;FlRUb!w&%zLB`FjHmH}<c$AT! z6C70|Eq^T&(--sjzVO%vQ?RbOMK?8^#lwgiQ|m}Wf48!*41$~&I#>e@|5;}ybPI|t zMsFl2()}ti&UFT9lY@aHy1d9UME(rsGKP0)z>1BDT@o95OQsRnHYl)dgoDn+dBL`> z%V1t!CC0Ac2~7-4b~W(I~f$BJJ8f<_vEen{~v<`l*n^Si}o?^1o( zt(^CiV@7VO*|7+pj@5>8hP!tny4SpS8mlk{_D+nc*iL;ZrUjV}YDaqm2NG}Xo!H!e zZpwC={gO*!k7~MlEtKmwu=kB7-EVF347;a(paUY4#x;WJUM)G;eRIR6gRkX<%zb?LoUbM+#)Ax6yP3F5fmVNPJe4)N<^?&0}6jhLS8-2Ow)-zh3r^H^hY&j>Z0!31Sv zWzVOHbmjDF$SXErViS$&y*g6NX2jIJ>g`j2iMYFWIwoZw**Jc#xuwxwL|Yo|MYNU8Hx^u(HnL9QR=ogB%qIjxlrzH68+gFnZ^znGx{|5ParPL zDEm0bD7ePC=qwKilAMbBfN`eJbq$IyF#SJF50DJJ2An-?4C>p=zXGe~SNb+)<;MQL z8UD$#{uk~KlDyIC2SdbzZ}3Dz@0Z1kFBtdq8({J&V*59k><{}rtip`K3C4u}*H|Ea zzkhq0W^KUJ?2xf&z%c~Gh^ahQ<`RHld z(3#ZJoHgLm%7)%&W$toKC$m*BiE+lFYc30_xQLA`pBo3SX-5MMx^@CN4=Cr`YmZt* z_g|NuC!7$j-1seTC4aAwza8nf@~DHHvTXV-_>IXFU-m zb!R<4^SQ$NKoweEc5EkNFQxm&7THJJT6)^5_hxRu&Jo@*vAtGmFDNON|nK z6@>X`cKZjTWH8U$T%1pHt^Z+jUPS+|JJ{ZL#Hvd^J@Oll59~wd886(lj_ol9-#pcL z@8-K`d1ntxXTn%_TZS=pSVQ=h3`@SQCM3f{t^Wwbmxf=h07LJL@LSpdZ$iV`qcZFx zov2Ex?!TR#u*UY{VU6rDw(ep#BMk8a&_9`PFL0atm-YAuGyQ{E{=w{YmghTfm-{Do z@DFzO4|ekp_Vf?-@edBDMoNDmSL5xa=kQ;_t&Veh58PpNVKlbVzsWD*V|KDUwT zOBT=k=im&BtbM`R)j=#-w&uDN0}*a&io%Waxk&(2{o68bF)2vh z(5CVIV;t4^q!AN<(fd{dfi8r) zo>!eAtbrYA&@^@Rza>%sWRml|@TJ^I)sy}|Y&$Fj^Q1cO0|DD;kO6D5?s~L!g3&zIU znt1B-1mob?SoWcDdaP6chm3oIV6bizgox$i?q?qvY2%Y(q?Vc#GEN;TTRmJaZs-0; z6Vt}=M5XZdO)ICgG)>HBJRa>AjZeq#&hZ2B+h9Upt1r0|?C^YI!fIr>d}6w-kIyYi zFt&Z*GM<=t9nz0YjJKtq-yLnlO)9a)4tgcgIK8upku*6JrLrbBv84~6+yaA}Gx<*Z z{xrEAew$6XE*S%begua;oDO}kCO}7M#2B~xqmrdlvKTV%y0@{dvOn*=-4>JfYqBwG zs!cLBil^RW%cn%*V57}_&C$&f_uWz>Jz)pq1b1S+~c2U5VR*uYh;VX`Z2aln_!DgTbOAK&r7w%7Eg^Yc`5G>Zi^-? zYW--6Eq3DK7-Q0-?QOB=Pehfx|7e_TUDK$e4d;w2z0l46BQm7=#H=KL#wb<~cn4&& zjxBz8yoIgq+}UwP&nNEij}`NOWeLWiCt9+?r)NIsp9Wn>nz4MQUL!Wj2$|K#Kepu7 zS(&z8OI6CtPhRPtQO1VNwinNxJ=O*{HCsQ;q1nouYr|6ok*DWg>tDG-kMMbf9$n_? z09Q%=ylB#^l!*B=yegNp1qp~Ux-3|WmH6F)I~8jZNQY4=#+sQyM&8r2sEo__-YO&J zZDw}Dm$tB%fAhwmSCWl_g_*Y4?F+B4#Sm_%FB)TueQwcgTMS{}05KB1TqkbEm~s}! zCKYoQmZPg3zJICCwiw|rJWPf1XT%sUy+AW}=mlEXzr4`eA|5S@y{FbXzA8{JE3*P+5EN~LO}{{~sJ%fH}MVZ5wkY)_us5jQMZV@)8rKfO?PI+<-cL|K@V5#(`Vp)ZM*>ChPSr8Tj45 zWejENv^9kseRZrcY3r4U-?UX`{dntmGrnZ_wym;$5sQ z?T9@ZXhT<`S;O90Ym22Fv-7*@)Qu7Eb|B~3clUtkjC?Q4BC*EPyXi89Vn}*0`D!gf3$Wb8DrmG^lp(PosXX zfBz0Nn7sEv^sI32M2ZUC_aHel_bo(R@_va(!}m9h1`A6(AdbxfV2@#OfY0x5D5vh7 z1A~!0<{;7OyXm)N>%k-wUrj@aU&?Q?FR(dWb<=m%x+mf!;E6-BFTWoeWhX+t7<(8? zver4=zA(jj^*>4eppx(v{g3g`dL(#jx~6v}=2fIU$1gW7|6rtlc0+O3wk^6O?!#UT zAV>$xk27enz*I}o5n_TTebmBER}~Xm1X$#LVq+Of-uh&oJv(i5cOTIS?5mI5%04#g zecFct*MBOHBj$hF707kq)8?AF+MYgcXZZT@j`1A*Cr3OhAgz@^E9fu;`5u~D57~yMHK%)6Wc#yiJc_kS*NK? z*W{t9JX_VX-5&sN)ZsO(MMx|P_K*k+FJ__8D61HFMK$7js?D~%tM)Zk_r6mt63#hs zgKZ+upGYIIFxX!#4AjHMKrC$f#U9MgPhZe_YkX4oFRGU0ypuW-%TMmb?~*SQ@!Mi- zbK}b|yV^3dXLws<t%aLF`+>LNf@){e6t{lG44-{it{KYzH7$gjAlQ?S>9pQ-nrG@ zt(G^_`16M_R2}@Iv;}MYqcp_2@y8GB%!^L$*bPm7OM< zCoq@Tp)tv8 zR9+kiWVR82{gbM@V5bx2euR9fhWMtQ$O&Q@9$)Gly3b^ZeRgca?9fzOUrMhHW;fPg z)YqESoHlTaQ7?C?2>~}A&mI>cAq@PiXbZ;Uc3~-Y+6IY!X$BL zD61zd89clf~(?L8#@y< z;SywN+3yL)tf#}pWeKda|9Y02Otra6peRaUlWbYi7DkD4J$R6~B9Uc@$`lqMK7N8V zGncNi%yGanM=fkv=*Xoj_9il$=1bgtlqHDtBsMkbh?eej=6Rd}ij9E5mitq&Dv8StHu@SS8e`P>* zZzI;!zj+#UqS)1l**7|K+Yy9o0!dRCHLWMHjG?s zwlSrZ*{q|t=~kDiru$#Uq>Ml5GPcxCsB#pcs!iHc2yBe%cBCaO zb>Y4!(XcJEtCMLjxW6r{vK65=I{G75>8|$dyj{C%GUY+y+!f5Gr#H@@h!x)^a~C@* z26tkySaG8}u{Kz7&r@ioc&ihe=idbJ0x4o#XSSnee2f^{1-FF?#l-zAMmW2&Ch(8{ z0krnIu8f2<@jzF$B?gizY(nFtq{{VA9eM@CzmLR#97d`&aVm%13Agm>ZtSdgKJ@N( z+9aOn&hEAKftI5a7fcM%xCa}J#uxOcF$3#+*y)o9>dD@;)ik{c_?6>5S#ZQ>IKw8@ zq7oV5h>3eawZnU1>-CDV0T4;Dt3n-~0J?(%N9y`8LX|@d>W1pp^iq4{+r3z?;OQ`P z#p3-)1osAs`{=d4y&1Q#_Ub+?&A&g`-QvW;KCEjqXgYAr53XG@exys0dQY#y*N5j& zlH#_aV3FF_z88w6eVLu>hNLe-`mt+i5_0>o>r6I)ShYw|-j982^>2HBChx=`Q>?hq zpOK!nbl?C`Y%9lvt7^dAf@omrx~teMjT-4Rm~Ha%8m;0=BZq*+vahmh>ShPTbwe4c zVM|{biv59oBz9iIUZU__*Rnf_(G`cTV^Sgtxt?XQ4@=uz&#v|Mao!E~K4Lk!Mp&v;vw# zu&z8x9J~c|>m%VB&bnIQziPPs2t`aB&N@*=mV9wwIGbk|Dc^J{WXh~&e@my`$`V*Z zEP_0p5sxF$+u{CP3kA-H(uFQ>l-M!?OI?EKj}dGVXv*Rd*dAx)vTN9JaV(c5iva|` z@Y`5R>PpUSQf3ej+{XF`7c#wK0oFt5zS~%DW@oLp1S>4aLeI=q<-IUh3YuEZ*)%Onjpo;4! zV~G|zMgB=1ok40XGRdGpfuWT5gR=YuNAcEVX445vQCMhG*gYl!_J#|2Dynqf6xOcB z6#e>llqe9Qa+v;<7%&x!(>!|;N2W@q_QF(VQ!5K_cFCnZ?!z5asWJ3Uw^#KBNCv43 zhe31|G}sfQd-U0YKOp6e77xgZhbZShPUwSn?pd;R0qE>pX5?*2HnQiD zMn;~3i&EsSyF-DhL*Uz~LxFk{WQfRzWQV#wBs+Awa%L%KwQ~NWoL?XMcXdDcFY0dp z2%{6N(lL*)V2P_!^P%Om2*#2}?X*yAf3(J?h^TqOJ%ibf?ujLcG4}V0Djhq6-DO)G zzH*shPcZvYY_&p1-ZCI&Jsy1eh9~}>Pj5A|c0T>dnaq9_0gS;L{)<-R&tfU;Iq||Q zwjS%{x+mrAKrV~J#X-^mhbSGefQ&{G+q=s7MmdnuDDraU+^8H#W`0MWA)!kywI+yJ z3D5)dCCq63K%CH?VsviW`YC(oEmetT1xi#9cOr)ZU{sm)ilT4%@SrpA*k>(XF2$}8Y>Cvp|;|k=j=#QTJ;?J(ze7)zk8ldl=`U=MXD=L7O}7yvU4ok3>2(+6k|o%36zsFUg&7$4hd7orV*wHmuGBXIz0Y&2EI} zW&4Ijq(8yKvdsjo;C%j>V$6(g2jBT6K_YFA(= z>Hqdu*%bd3=atR{f6ZU8PHij>wkWVIyi6hkf)+z*mG|+)cyg2th zt1n)CjoA*+ty8MW$q#du$EJb3s;eG4+lk_vI1Yp2gy(haAH)#Mh!q9y^_TOpy}Y$bafp>-?S zs63le^Caicc+zPF-A$}kY7#SOHXya0>9`wC@|UKUErW+{h{NOF$Sr2IMh3b}PFX&} zf;9OgbUWLs2Rzy*EFFi2VJ4#shmH{ap;V6>-+vXC=afkv=>&t@(qQ}C-MtBCiC3n{ z5`@A|;+fNN>7V*(mOxhb+gu(+QZ(8?U)-|oH0zoqac>^pojvT{%)y9bAhHJ8QI$2% zFK>6e8^A-oclW&u$ICx$3}XQV(QfFKA4JogfN7b7X3g78MyIm~p-=0vJ5n)B1X*sY z^IGcMjZU)24wO)&GhB*8lrtSy2XVpI1IOVBa$f{1s#h)pzyBiB|8VH_=n|o<2Lr-L z$SOH3JwTO5ZB9>sIIxPvHTR8TkhBBcuQSRQMc`n*SX+ZIRz-4P-f9twLUZy- z5R60YUClh#ph+5gpeMlniZoK?#JM-%X)AdBDu$A*x(NKpps+-9TUdf9 zT4=IM^t|My0tPpQss0z)j5=RLhgrnl^VwME@ zf%T8Mq!LJ`3Nh_e5Gx-y1Jo44G*Qwlh`f}Q>%}xhgkA7hu(Bs2ERz*(XM5q|TNoFo zOh{k4^yMf`y;PMDa#1hI@%9qKpkC_bKo_D+#Y~STgrKRxoC5?Msw*LYQ0b9AwaB>v zTZvk{v)LJ$2%f+=HDrWQ7MMU`K>ihzy!+*lHOaxFHWSkANa?3&uKgOvQLYRtYg3L$ zg)^?#xl1J4Ql~LZw1fi)U**g>S~x%gQ9bDdBuU3D(#!RtwjPe#pG3*9A-G>;MB3dX z8)4F&9s~dYwa*4)qrk9|$RU8jAE*4#cC_PpQP}*k$zr@`NQnduh%Ak_4QQ8!yoDRO zL=(bFOS{g#JC^roC1EKYNd(R(WAfa~soCoOu& zK?B6pNg6vEjRIu>&Hyr7FmzNUn z$OK-gJYEu;--HUxrt-M?EtXifBEh9tWS3GTxb!UjW%1%$tOWegb?YU!^yGR*XXo#) zmwfCwXh74_876^r%G8*#&(JY*W=*%%8gLunEq!sGVAKO()fPAku9^! zA-|dsqAkXfLvYkfngwxc6I)9zj{0N8nzx~pEEH$nW^`L!;1E4pjNi=SEvc>+BX6j< z8(?bm%GV@qz(X;wG55RT=w@|vaB(vm05#%(Ev$)nvlD9|W^Q3O2OrZUXZNs3-Ns@T z;jxkiGjUkvNWc?j*cJ4m?GC+Mq-pNY6_Xzc#I zEP|Dbq1)Jqpd+dh;n{}q9NfmHvhAXG86#T`@n{)a8e2@A2Obj2;*$1jps(&>=tBGL zY)94(Tyby5`oSqHL&=a`cBpf!Uv{v?tV|T_WKjvbBrhw= zd2GeD?o`G6&dXdbuYr$9e23j&SFQeH+7bCY`r#Fw#L{L7FujB2Y6~euT<(Nm+4%6ny zVVWj5Ow$C8Y}58Y?Aj+5@2PQ0Z&jXX)w@d88~Fa;)*Dc;g6R#!^gS%L={|*{aT3=; zSDHp+wc5D&869A)o=<`LA1eO{@#NkbI#$>aG!f_avZlQX-k>!DXu^ro5z-lW7s;+! zDFCoafz;!dVli@Wh~fJfT~!cI?PCvx7A!aC3U4Dt>}RPaUW61|@x@}$ezYPHASQ&K zjiQ;&Un>@<-0Of*neuU`D8$3#E|+kisU{m+@A#!<)1m{cV>|Wu6mr7@iL;tpC0NyW6l=s*84D{)#PLJSewWZv zbBfFUMs*Dk@sd2zbpIf>K2#OH9JB@TV84u^9Z z@pu8{$pln3{S(%Y8pchD=1}{z%H;GQ8>m-`#YdP&Sp%lyB#49yoWDpZTyfsW{ah^L$JoFIIG*lC^Xfy}rX6GPypV~D8d$pGW9)jAnSBB)IP*BWCh9otRwxmm z7j2fk4baQPoZ~DZvTTdwd(t!zb>iKTK^*)7$JqyuW4{CU79svRuFxdobCws50YNN~ zk`nl(&&0aVSr7fQn$_oTMLTie+#$Vra6h0qsnsZuq$3Ft!>kC|WZMeXMzU|>feLo* zW&W)k^&V-XhiKbtVL>1lRDN+qNj67TSe z5*B`jgNCYmg`pE4-~HpD4Otd*k6yedtj zfPX5H**Fvwd1qLARv}8y$UX7!8D&Ct@eI2*L;_d7b|{8_&6+eguC6W7CI=xKY|k;V z_-l5RdN~)%2lJ0xprne0qEvrInmFWO(wM{FvXKoW#E4;{IUzb$DF&Wp4b@#ZwTFQ1p=Sk&lg6GxUZ5!nN>ceH;i7YW zHv~DP$QKTPihItoCrk<)VD1(H=57&S?iS+V?{LWQxiG%7o4qO7;oI+6PMU0(SU+mE zn#BtPn_0n$#TS)t^H}rtnmp=bp=%l9<(>eCPCC5ul5yzH1W`1GH~*W>K~#Ou+7jVy za}IVWh2q>f7F|!ilo$r$27Ysgh^S;~A>}&&7V2HO=v>J>sgm$RdjjA<)1v3^lu$#M zyf{{Qs1hhuM6v!nDo`(0?5||euoF62$wu*_ouc1)$YF(I%z4(voaH3iNdmk)p?8)) zHzk<5B*a)zd7fPpTCu_GY{dqP=Z5W{-AwzRLa5n~=NxTCU(ofO6%~K6Btj*ai%B(1n+wdkN-Ne~sIfaJk3{@Mc4MQ8caRm7NtYfxIronAx_i*x zPnd`w_xGakB1`rksgZg*MjXD#o~Vu0JU^C4Cl_x=)kGBFp~Yvi3($_bPjIpNEK8)< zr->&~7_aFSR6@~-iiPLFw4M~W8(}RBZ?-bEFo>MM3wnr$zti27DwgOCyzW!tQN|lJ zkS)k@L*^}bhsM2$@l1AF;0|@RhAai3EIVWj}v0#fuN-n3h#{U;cNi6Z1Y5F1h90ovTO-QBKqj7nW=xdGp zGy9J?d8$cC&{aYMD5{9vBrPuHVm(okx1GF6gM7K7ffd!#?ue;O)LWK{rfnPekSMN|PPaDh=9#EAR2ybF{X$ZriXsRh?7#H>K>Nw+2%1xOBtqL#$u z0@~7{u_2EL?+S~ZLh*GV&oKLMEoQw;ZvC{X$%_eZ7Q`DiC?hQQr-XyP<*D`M8&^Q| zV`?1pgZOC3+P?>JvdKsa=46M{FPNuTtk$?-ZhMi!G7AV2n}fN{s9O9L%vaQg^AN9M z#2FWFhw4ex`e))*8Ob<=Oz>b}4~6jf(2wO&5l+n9pNJPi_|1Q_6UJ4%#q>@&y{>^>rLLit4WW?d-H%u_P}fq-T}LKa6&dIiBy3Lqc}SfdO$Cg+5?fAEHAid7_( zX7E}%Fi_j-+KB6s8Wq~mNTc$jToi4LS2y${p=Fzb<0vBx$b)lwF&Sj zmLg`><0O>UA;gcU&o5bNz3>`Z0b*}OPBKWk1VJhsXFk8tNnsk}uVPh=m8zIj~Qc+*=FVoC!}W?8@I z@tm-aIGyKvfO{Wt(KDalWFnu-WW!u08|E_Eu!Q_IOh4ezo0-@L`G{1en)@eS`c*zZ zNM>JeJ!(A`0*sL)38?ZO`YM&H z)?=ylpB;KfvvqVm3dgx8MEDG@6C7vA(T<(L4W==L~&4$T~W96L%O>>qiix{!`Zr5(UoliRvzV!ihnZ6E$pTpiCl zgexs^{%VMHXg5vVnCJyVor+>W3ugljoBS@qZt1zz2*h=X{BQN#=>9v2ydnEte3PiQ zwU8t}-PCIrzYlELD@2mFo?7nc%By@W3-;osr5;bn0Fr}VM}fPL9^$7f_hJBXlt5nh zLD4#yw|1B9^Txu9*hz@3SFqn3Td-dgC#$XPNHWmrn7T_dQ`Af0t+5(&Qg{NKn^O4j z%PJ0{mN3uEk%38#Wc|E3nDoks~GLTzH~NL z+`e?V@ZvLgq6o|2VQPmV{>Ns5UhMNmvVgUicds3}$p(|-{c zG~57z7A#48m%$^c5$H4HqkgZ&$f!;gXIt@hCOxz#KFZ{s;WTK-JKIm>7MK*kdv51L z0i=!N+=e_kypk{iYfaKih}9b#a(b6TXpOi$jwJmnTSE$$I5DvipN7UN8}V10*evVb zl)|i+!Lv1GJpeC`H|Fk;ibE3I#Iya@n5VWY_@KHA!8$_TnNum|%)!p)1BsNy$g!A< ztFpLVR8UsnA^bN7Y@rw8s2p$JC2e8q{VlIOlTYWY_bS>1$Bnr=JrGaM8dsben6%S; zH>*}r6*rK6z&f1Lls5)2mNb>z`~If9144n#B%U;D#+xB@eKURooZ@D3j_`s5@%bsu zx&4lUq>;JJc}pbIgI93gYR)_5ov6oS^7z9T{}NV-~4 zCe7_op5(Fb!TWs(xkMxTAP8yhPc$+?3ezh-#L+l1!IgY2;V>C?h};&uWu6ScR)-8S z;D_3j4i}4abee{}4#f_lIi!J;gxy&2N3sKfgi#&}K_R7RlS)x*MWv7p5S>0*DRPNI zbw?3cq_FzP=5BL!QI~j}R29qBhFVpxz#C?HxYaAswIxr;i+~A~)(uTziQ>mS&=bPNLDS4PXbYOkX5ye zabVBR3qsuuB%@)KM~LbU@HC*h!`ks~UfYv2Qc)p>Xpuae$@GNDgBjB(NhN|lnTZI? zWYhx~_e5bhK7}269v$nLrNI~?)e~%$CW{tIMrp9{eLT`=Ctcby5=evHPsn#h2Vk5I zIZk?X)Z@Z99cr9m9vK4%^LjlEWe~bRHjruTk@+xs;&3{IN=pf}f4 zcbP19GLfr1-4iE2=Akm7wi~>a>Qc%B^rU@{2SY)GvhS(RQ%*-91Yy+g$wMAQpnuYM zz?@f1fkzbpcjgK8GyrDCVZbo_L7@?d!^)sRAT$yV5bG{Dz@=dT4EIF1XKHC?dM0TZ z-Tedfd~C0@6fQXQWMT*c^ooyJo{XB#6pui*O4b|#FuQ%!x*dt@$ zNch%o$0wi{3O_su(ICS-^=Sel+wmy~!J%$NQq@qy-mm95(t_pOA>{Bxq3&QccP@{N zfrD{hpB~+g$ct4TA*wsl6HRqPNuJNFNrMi51~U=X;lRAc$kpWXAQzCs6GK?zZpUXa z49lhEbwfP};sgw|bzRW5q2mDm!AR=~*ust(0Gp1g2(votqC)Cc6K{DhFh<0g+Aw@T2xbo4@Y zkPt;Cs-pPJ9}p)Th(ju)aFr=suT+`BX#zZGA7M;^{2&!ogElNA^#F`{lm!uhq|D-v zfGFULfG$En#63gZH!%=FI|jNuCI-5Y4e5k|E_Z)mI$#k@u&7>aQ3wQ4e2|O}A#aFi za2e0(R!FS?!D*(^my`hKVA_W-%a z0Elj5qnj;m=)fC#e#0ajrX7w3Q!N5|M5?Z8hUZGbk6Kpr}pU5r_4zQ*J|f%QQ%(XlVTClKo)RO=>&_l2d%&b~aCZ4?drK{vNi zEb7O1*#HT1q!^Lkp9fzrDY{fq5;1q1H+L|xAdWPFlAdG90~O(=bRE0g#k*JYrb=T;d>kz0{C7?@whCDb#)*19?%fi3y^vMYdIH`yHY%Y+_+G?Xb`wBK=HsJ-o^x9@d@D?>;+$- ziG+bB5(b(`sK7UEFrNwhC97VVnSw7w#1KB@ZxnD;GzP$aZ3rJqZC4H9Z9>hdJ4sV} z#Za!BbvVuDoo4e+)qJ#geJJ#wOT>Faaq_W^#41vncqdG-Yk0IjNU;${2LqmJBkOhz zmrtBLcnXizJaP@+W4&xK?PRuf^xy3D z54NH%Ua#c*PB-vXR-E%jsF}?o*Tc_W&_uWEq54=s2``8fH}Y7Em|VEgPE4vz^}61~ zx3VJf*G-(B_7GRy3?=4qG3*we7?26pJ3y@N#NtKzFfO0m%p1lVyXb?hAnSUSSUZgO z2=N9T;`|qQq{4j*?+=>-RMA*jnJ`P!7p#@-7&Z_nU~r;F#US*R}$BO$X}5id8^#&u@A`Q z@{aCZxqJ-UAwJ6G4};VWxs4Bk^U`gIEEMkBIoa0_R?gG6bNTXG+3ozspzWN*bGO+3 z6s(L34CWNwNAm9Sg0NF;9mzAr>XESPC={DUa=O@iZX_pTcw85*K_urm6%sVBMNJ?c z7{zb4X!#lJQ>R76CAH_-a=lc3E%PPZ!MmCGUY9O3KL0d*;Z|>A zYQ_O97(Ih0J1&auz)C(MHr~NI{Y@nteag6#U+=##$i70-YNuFsCx6D4NT((AT0n!M zvuG3g45B4;I8=02OuLJ>=4EHay1RH=t?Vp5KE4*m4;SyMasHMuns-c4E4=a>8Zy%l zJ9L*C3yuh;j^@onNOqvZ!^%&@s?pd@Ulj*N^Va5&>Z0N_q?UJc%V=8FF0Q?skEN7% z?&cl-K?Tk3;a9K|;*NXxwSNOaISr?)k4FfxFbz(3g}|G8!`N$L_!zt1=^vY!{62=0 z5k>e|o+RHY0ztL0G+>N5I4${h5!a*iQhFpHRX~{km#<%i?jQ0#@WyAixK~kNFNV1+-Y&;czJgJ$ar~nzhyjc5iac)$hJTo#)~4( zW3ehDCh$}cIXtf)BNor);o|xUyuP{WD$mN*G;xA=HPx|uL=kROOyDsID>R}{I94F6 z1{31L<>B$@-z{2q2?cyqS+%)}tfbB_y3^fn@$)1eZoLQe5A0Ig7FS-{E|m;iNeBa0 zNV_xon)}IW8Gm)U9quTfck0+ACiV4~L)-Y}>7ToVwf%VPC^ZdVmY zgG{eJUdQXXYN@!m|}pXZG+)tp(|^{-p&)2er~n3yRt-2+Z}ZVF^^qJN}xUrEidH;A-*BBQWXt zKejHwg>-$JcruTVN6Tbl5V}gUObk|u9{FDLmbxqq;w#QE{blCmWayLxM**6 zUjE-27*w1S^B?n`tk-E^K#k*6`Twnf0W|_umSscnKQb^V(iF>C>%{`MT0Ofh%738Tx9&y=h2!ZA2#mw0}E2{iFA%axpLL8#~ zIR6K+6Db_-ceD9jcvOi;cI+mf_yDU|vBI9efUfS-YfzJU8d0`HfwbAkQg(M zr`3r5k61bn#+Kz`>pVUe&Vc#cy8lv##Ywa%ozGL0a0Xdgnz1*RX6$rU2S_O8J)q$U zMTe{ATdIgGgrSOPUBEl$6_d7tBH(dDAxm$t;53DpE2WoLsvgQgiXP;sha{ZAkb=U@ zQT(G-$B!~ceI(%|04JVSjtVOWJX8m$E+u&~Lga)&x#50J{8+$miYk}KO+AsWcsr!L zDRLJ`$V^|rrv?=KM9{BV05#-dk^VHKzH%|_X}$o?_fLC4R>$?G=osjwb~3$_$-F@F z&BjsZ5;5N3cUgSnF{6ek1bgUQ|FtERxMd#)i>IF9k$KXp#YfCS*h5$T-D@#1wCT{Q zkVY;(nGmK-F279D=EWxy!i3FE_j*DistMv_GpR&%tMiB%8W+h6x$Wg&VXgfo9C}8` zdXeJdLLL+Z?IWHD*dyvK0uD;O6K#utHJO4Ii=0KgAum2IR?Wm|G9r$PbA?zZix=4y z8Dwb`BR*WjhxpYWY}U_3_Hw8sh6@;>G{8^wr2@Gl^6fIs1PKg_*c=i zkTt4&d1QkqdTxP8Gf^FY5|pxF zCNfp7B&a0>nIwiTT*t@jq%5ub_2OO6a{IgAmg#*2^wju5%@f$Lmp{ktR`=@h>tGkt zxt=Py;ET_3`-jF z2U)QUDxHNZU@lYnI^KvsvaAOAMbUqE8@^%#%~4_=&J+D7Pf{iSO~pHPNVDaZ6v{uh zd}D(q8fmuN~^bsF>%w?F=V{zQy;@g*qUwNvDJ3geD~jM(Q7tj=1-sG4Z<_6Ew4iE(&DjK_{;u;$@@|yFIa9AbO!P+7hPV& z`=|Lcn9CU6r2#88CU%Ju#WPq?6o|fUWMw5{?+ljE#n61Y5ZFZ{pYK}((q`EY0{9}e z34jWrzsBt=4*P0TpDx9%#CqDcj)#e!D|t*N36)LtE+$#V0>d(P`}d((Oj`-Nv!V^4 zCNXI^+#%gHncARe3%zM|QJS)%4dTd3(2D#Eq6#hX;!2USN`>`Ru)Ql=^g2(Z2CzOA z^}~AJCMdeVx0b=rG*Bwt|gf>@ctxfJ>q+F%Vk`NIV z@V5Ca+9WDh*T73mZ3eX#EIKde;T+R=b?*e+ES$au$W~G2-8us_5CT!QhL5d@8?u5} zF=Z{!5f|2BKluw=E%KL(^0ipzD7FqZtFq2Wac&)&$=|%_4eS~Do2g5&;*R3lz@+-c zGR05DJS{ZS8hL)1IDrW9(i$Ea;;~|jMd~`9``5nl>k*$lzHt;K=-iC5`<3fM8+i{)W4Nv{Ziu$pRHwx+@^%pa*~A<86o}NE`o%?W^Tcec z2kPX7j#4o|h**{alN1;d`Q=qJ++OMbwmb=W{B30sfN$!=YQg%Wq}b}+t=c@ogS+9V zi9T-RJ%IBXP2Nx^+cI$r(EFy%-1b!jQM8%ct|5xAH}k6inD$$0tT|L-`{tN9xP{w3 zURH`D-O09_ePVDKsOpE?cneeIUz=!@P{!@w5J9m2lBU6c?S70x7`v4crB} z|A<(#i?=sHUFWxZ8tmpvtlEa}g@zHu5ANo%QWNXNSj(v>l6dtP97ySm>n{ z?%kZ0u|!r_U=6**Q>?T1z`A&^SieVs=i@z)XV8zo_V61z>{Ydp+=R-=M#$$uC~vFx zs@m1JofI&-o>!x}@ICCk_lvUkd3u^{G=Ep>fGp(;rbKIHE1E~-$}1>{r}y%%_GyJ_ zjQ3-5UNktzV|>1yjmJQEipbu_ZUQmq0@kxi@bYvb#j=#wj=kSRGXAu+2hh)e>!I1D8?Gfqs36rKOW=e$! z9u=)Y=!mcn{)7)6RD9I8ZwPt&rc%@ZVdRe#XoS_R3R%Y6Yb05{ew>RRKH*&xO^Zw% zu&O&b(j$=~KvaDKKBV|#?qrL^*uy-*BJ6YFr*6sJG}FQpx{;;B+^xY8U^HH)Kf)iR zOzV%p2yUhb`BZ9o7JSO1Vk=OjvtS?2p{*R z!KWNkdusb*ur_^E+;fb}j~2>z6^oByojoRz-P}*~a%p>q%DiKs&xB9p!deUbLGCx zm477`RDcNx-&1XiwXed&O6+9fVujpQMeqrJm1TqRm9)XgJ>j)tt&OjyZ>*9H#=#RX z>NqA&pWxXR;F7=aX<*P7s(~B7@S4e%!*&QI3%~F-P!~6uKxRfcdWNq$2j{3*w8uos zNuF(A1ih>GYaj=)R9*udK}-yLMF=?FHCc^5FcrZkmv@DT3nzJ-oaKtN`cSFbc*9F? ziEO2K;!B=Vy;(`Qj5ZGMIiT3~CC_T|Dy+*Kp`@iCD|_%MG?U80jLgo6ttkIqLd^Y@ z*QT>BW2#t!*zXR#tqC$zMNjLT6op^$7S;sq{fZ|k@sf#U_}18>Q)-S}r?^hA@%_T6 zOH4S$gDDnvmX@J2T_nb7?Z#7HGo3n71lh7qLx@@@u09R5#~b3F)4a+5xFhM}o-;fG zHh2Ub)f+~a6}Fu6o*&oMqd+>^{nH_upXTZQy|S}ppVY$Vl7MD`3l|uoMDi(~3SObw zw!a#B7r*B98-PotnN_n&+x8nG^&6i2|D-Kk53j8)3)<_xRqJy9w~E-pwxnlri65%l zxCl{85swHw%QHJ%vYeOu_!~}>y(Jc&<&EvjxLq}WT4NcXI;&15u%||eCg1V;gqrwh zWQxnXtjMw~3kO&gKa&(fr^Do>H+RTT0W~^wuD^#B^$XdrE&YyK`9rpP;g0)XL<7xkPxG%_AGNmIdd3UMW3)1a-!QTLn3r+l5 z$s5^G>4eGg*(4|_<;*(A+hnL!Q}hd6R$w|#P}3B#P_O>rT-q(f@pHV_CA2C;{qv~w z@7~hH%tGbre$%^CM*;NG^c|N02{BDhmPp%1g>@$HT9@!$69B$I#)Dd1e)^cU^~n9c zP^ERYNfQx!c=W%NeIgIkQIEBVmY(OcoW=?EM`_a^_}*4*R_QNk+7O0&Kc6?!5=%#B zXtz?}olNaFI9nQOKf!sjo0cf{H_{@I9obep*+Mb5nbw#sDt)V&mc@ z+G^unt6oNM00n!u)AXyW5KKuzISqgGZx;T-@K-jNLJmi_A-E2Qk0Y=ohrS$c1T_+Z zKh?K;(KmfFrK5@6uZV+aQk-w64RvjP6_M!KZgEw6?b?tfuOZkOb-X54wbwf29i=ep zJOkJD3hE2SU#LT`GUI10XQB0|tw8+U>KN@9iGCnX_QN;r9`xV=^ubKq4L6+1QGFH! z^`n#u_@03qOR3`a4q9}BIj^Z5?il_6D>2uRIZA-?aR^>OW6 zq3Sp+ayn{>AysB@)=Dw5BW@tBTB(vZh`AlL4A)UJct&jOs3nKYS%p+Uqi~g|=%`)e zI!ob)9r|yg%N5#vuCuEVL|ea!EmvrLU7Odax^|23PFh3PSqcJn$lOV5=32E@W!@kr zcGC2aDl<5%SZwa3^=`GV7*pCDgYlhG&;W<~2K?aPgiZi6G7&&#trM*~Ye}wE>#RDj z>#X%?S%qM&b(HzkvFZ)0%&yLw-m(h8TFZ31vAW$=C92&GqFom)&2^N5gau+m7cDxZ zih>04H$`3-t#hk=Z`M(z`=;tDtB^?+dP{uMMeFL?_m&DD7OlH#JwleOM-U@jzFti0 zsx@-$GsB0)>aJQ^XcYy=pvh7uI>%{A;_9wif(Xyi8m6BuMG`vq8(i0`Xpm4U%%RWO zfOt$t;RbPCj@DeP%F)8ayc{hhq>56|)~tTdW2dbDgCijaeM(ro~6j*^J;43>EH7+~q`3aj}KgOl0ZW zjjmN&kP1NH(K20YA99w015kF02=A_?if?pOxEc3{DRQ@{-(BkzGG`lt!%*QiF|@nZ zujN?^qxs+9dSNgUmUMBW-$DRCrX85r9rMs4vQAI&?dDeD@+pOrK z6MyaikPAdm-OIO&D|%oy_LLznZs^(`R5AyZ>=Cc^)*cR7^1fB{WrYgv#U`;`Jpo$!{J4M~G4Wri2>&;U9ag z^Gi`xj-r81ZZ4&w@mA+U0xoX$0^ZT=(`^{J<;tC<*z(Mu{-=#^8I~W6B#ZpogK8))An;11%*@8Aywg#{`ikTk)jW^`1dc6HCm(B)vgrj}n9Pgb?O`3fUybS)% zapoL)xyt+<9Q{RsnNkdo;b}!w|J{+r0&ypRDTj&|w;ZoHSdH_ZP4GN_GKWTNGKGs* zp#KYalp=W?Q={Ywk?<p(s2h4_tu!OC=wMMFcK>+C~1Al4oJ|dEy~x?sv|Y0j9*-sX(`wqN#V>(x zz{oFg;XGQa#V>=0!7p>iJld@pHaMaS+Pr!`WocpI$W+AUo%5y8goj{n^MU#FZlUw1 zXCJtVsC$pI9E=j&9i<@V+!QpBy{o+O6?#Xry1+4rSQn?)&~z=-4PJ+=baO)u)f73x z5l5g0eh;W@42NHE*RROGRdU#wB1fFj9`323e9cxo*~23j&=@Ur4f+l6e~o7?pq7l# zU!HwCaFir5ho|C#IlKZzA_c5l${+^J6@x6-AYENK98qIDf$KbaA+6Jl8{kurw;Q~7 zAw6Gc2}fKpp#PwXb0lhC$&-S}i*XZJhjuqPy%x1?3&%K;H+gj}EB|b4w2^O{A{|W3iMb)>qSn(JM`|uLj>*jek@>z?6PoZAC{) z73r&5i;k2g)>pF>9Vtx`cz+A1^S$ny;Qk;K!$F5gbkO00i*PeHg(Fc>hr1S`@Z(CK za5%l5ate(*${v_4^^k$51=aEfwu{xkCB9Pm3Ti65=p9~Ej|sCCPu}6}^_Z~GUHDmn zLcGiS>S>u~+ylo12Ji8c4KzWsgd>Tud)&}K)&0Yp(_H(=<}^N=PFZZ#)07EwadfRi znYQ}IW3R<-wP#CO|Diu1q`Z^|uRi>uQs2LYr!A%zE8DiF;p@3BVpriJ?j3s|PZPrq zG01bpsh)HT@<(782R`$;c@^{r?Eru8zQ-VMPZ z5y&SGk85VM@iUDyae&pPdIIM1szw^o&(*hW@;?3>wI<3+i)`m{P4vRQYzvR+ delta 47846 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 Date: Fri, 25 Jul 2025 14:09:19 -0400 Subject: [PATCH 09/11] chore: added default reason to event metadata --- .github/workflows/test-harness.yml | 2 +- lib/devcycle-ruby-server-sdk/api/client.rb | 7 +------ 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test-harness.yml b/.github/workflows/test-harness.yml index 345207b..0d9115a 100644 --- a/.github/workflows/test-harness.yml +++ b/.github/workflows/test-harness.yml @@ -14,4 +14,4 @@ jobs: with: sdks-to-test: ruby sdk-github-sha: ${{github.event.pull_request.head.sha}} - sdk-capabilities: '{ "Ruby": ["clientCustomData", "v2Config", "variableFeatureId", "allVariables", "allFeatures", "evalReason", "cloudEvalReason", "eventsEvalReason"]}' + sdk-capabilities: '{ "Ruby": ["clientCustomData", "v2Config", "variableFeatureId", "allVariables", "allFeatures", "evalReason", "cloudEvalReason", "eventsEvalReason", "variablesFeatureId"]}' diff --git a/lib/devcycle-ruby-server-sdk/api/client.rb b/lib/devcycle-ruby-server-sdk/api/client.rb index 6630594..ff8a620 100644 --- a/lib/devcycle-ruby-server-sdk/api/client.rb +++ b/lib/devcycle-ruby-server-sdk/api/client.rb @@ -207,7 +207,7 @@ def variable(user, key, default, opts = {}) else eval = { reason: DevCycle::DEFAULT_REASONS::DEFAULT, details: DevCycle::DEFAULT_REASON_DETAILS::MISSING_CONFIG } @logger.warn("Local bucketing not initialized, returning default value for variable #{key}") - variable_event = Event.new({ type: DevCycle::EventTypes[:agg_variable_defaulted], target: key, metadata: { evalReason: DevCycle::DEFAULT_REASONS::DEFAULT }}) + variable_event = Event.new({ type: DevCycle::EventTypes[:agg_variable_defaulted], target: key, metaData: { evalReason: DevCycle::DEFAULT_REASONS::DEFAULT }}) bucketed_config = BucketedUserConfig.new({}, {}, {}, {}, {}, {}, []) @event_queue.queue_aggregate_event(variable_event, bucketed_config) end @@ -353,12 +353,7 @@ def all_variables(user, opts = {}) if local_bucketing_initialized? && @local_bucketing.has_config bucketed_config = @local_bucketing.generate_bucketed_config(user) - bucketed_config.variables.transform_values do |variable| - variable.delete(:_feature) - variable - end bucketed_config.variables - else {} end From 960774512d8378051c31e85b34ed887285af2879 Mon Sep 17 00:00:00 2001 From: Jason Salaber Date: Mon, 28 Jul 2025 10:03:15 -0400 Subject: [PATCH 10/11] chore: removed unused reasons and details --- lib/devcycle-ruby-server-sdk/api/client.rb | 10 ++-- lib/devcycle-ruby-server-sdk/eval_reasons.rb | 55 +------------------- 2 files changed, 6 insertions(+), 59 deletions(-) diff --git a/lib/devcycle-ruby-server-sdk/api/client.rb b/lib/devcycle-ruby-server-sdk/api/client.rb index ff8a620..7973cac 100644 --- a/lib/devcycle-ruby-server-sdk/api/client.rb +++ b/lib/devcycle-ruby-server-sdk/api/client.rb @@ -195,7 +195,7 @@ def variable(user, key, default, opts = {}) value = default type = determine_variable_type(default) defaulted = true - eval = { reason: DevCycle::DEFAULT_REASONS::USER_NOT_TARGETED, details: DevCycle::DEFAULT_REASON_DETAILS::USER_NOT_TARGETED } + eval = { reason: DevCycle::EVAL_REASONS::DEFAULT, details: DevCycle::DEFAULT_REASON_DETAILS::MISSING_CONFIG } if local_bucketing_initialized? && @local_bucketing.has_config type_code = variable_type_code_from_type(type) variable_pb = variable_for_user_pb(user, key, type_code) @@ -205,9 +205,9 @@ def variable(user, key, default, opts = {}) end eval = get_eval_reason(variable_pb) else - eval = { reason: DevCycle::DEFAULT_REASONS::DEFAULT, details: DevCycle::DEFAULT_REASON_DETAILS::MISSING_CONFIG } + eval = { reason: DevCycle::EVAL_REASONS::DEFAULT, details: DevCycle::DEFAULT_REASON_DETAILS::MISSING_CONFIG } @logger.warn("Local bucketing not initialized, returning default value for variable #{key}") - variable_event = Event.new({ type: DevCycle::EventTypes[:agg_variable_defaulted], target: key, metaData: { evalReason: DevCycle::DEFAULT_REASONS::DEFAULT }}) + variable_event = Event.new({ type: DevCycle::EventTypes[:agg_variable_defaulted], target: key, metaData: { evalReason: DevCycle::EVAL_REASONS::DEFAULT }}) bucketed_config = BucketedUserConfig.new({}, {}, {}, {}, {}, {}, []) @event_queue.queue_aggregate_event(variable_event, bucketed_config) end @@ -580,10 +580,10 @@ def get_variable_value(variable_pb) def get_eval_reason(variable_pb) if variable_pb.nil? - { reason: DevCycle::DEFAULT_REASONS::DEFAULT, details: DevCycle::DEFAULT_REASON_DETAILS::USER_NOT_TARGETED} + { reason: DevCycle::EVAL_REASONS::DEFAULT, details: DevCycle::DEFAULT_REASON_DETAILS::MISSING_CONFIG} else if variable_pb.eval.nil? - { reason: DevCycle::DEFAULT_REASONS::USER_NOT_TARGETED, details: DevCycle::DEFAULT_REASON_DETAILS::USER_NOT_TARGETED } + { reason: DevCycle::EVAL_REASONS::DEFAULT, details: DevCycle::DEFAULT_REASON_DETAILS::MISSING_CONFIG } else { reason: variable_pb.eval.reason, details: variable_pb.eval.details, target_id: variable_pb.eval.target_id } end diff --git a/lib/devcycle-ruby-server-sdk/eval_reasons.rb b/lib/devcycle-ruby-server-sdk/eval_reasons.rb index 72c6650..4c54521 100644 --- a/lib/devcycle-ruby-server-sdk/eval_reasons.rb +++ b/lib/devcycle-ruby-server-sdk/eval_reasons.rb @@ -1,71 +1,18 @@ module DevCycle + # Default reasons for evaluation failures module DEFAULT_REASONS - MISSING_CONFIG = 'MISSING_CONFIG' - MISSING_VARIABLE = 'MISSING_VARIABLE' - MISSING_FEATURE = 'MISSING_FEATURE' - MISSING_VARIATION = 'MISSING_VARIATION' - MISSING_VARIABLE_FOR_VARIATION = 'MISSING_VARIABLE_FOR_VARIATION' - USER_NOT_IN_ROLLOUT = 'USER_NOT_IN_ROLLOUT' USER_NOT_TARGETED = 'USER_NOT_TARGETED' - INVALID_VARIABLE_TYPE = 'INVALID_VARIABLE_TYPE' - UNKNOWN = 'UNKNOWN' - DEFAULT = 'DEFAULT' end - # Evaluation reasons for successful evaluations module EVAL_REASONS - TARGETING_MATCH = 'TARGETING_MATCH' - SPLIT = 'SPLIT' DEFAULT = 'DEFAULT' - DISABLED = 'DISABLED' ERROR = 'ERROR' - OVERRIDE = 'OVERRIDE' - OPT_IN = 'OPT_IN' - end - - # Detailed evaluation reason descriptions - module EVAL_REASON_DETAILS - # All Users - ALL_USERS = 'All Users' - # Audiences - AUDIENCE_MATCH = 'Audience Match' - NOT_IN_AUDIENCE = 'Not in Audience' - # Opt-In - OPT_IN = 'Opt-In' - NOT_OPTED_IN = 'Not Opt-In' - # Overrides - OVERRIDE = 'Override' - # Split details - RANDOM_DISTRIBUTION = 'Random Distribution' - ROLLOUT = 'Rollout' - # User Specific - USER_ID = 'User ID' - EMAIL = 'Email' - COUNTRY = 'Country' - PLATFORM = 'Platform' - PLATFORM_VERSION = 'Platform Version' - APP_VERSION = 'App Version' - DEVICE_MODEL = 'Device Model' - CUSTOM_DATA = 'Custom Data' - # Error cases - ERROR = 'Error' - DEFAULT = 'Default' - UNKNOWN = 'Unknown' end # Default reason details module DEFAULT_REASON_DETAILS MISSING_CONFIG = 'Missing Config' - MISSING_VARIABLE = 'Missing Variable' - MISSING_FEATURE = 'Missing Feature' - MISSING_VARIATION = 'Missing Variation' - MISSING_VARIABLE_FOR_VARIATION = 'Missing Variable for Variation' - USER_NOT_IN_ROLLOUT = 'User Not in Rollout' USER_NOT_TARGETED = 'User Not Targeted' - INVALID_VARIABLE_TYPE = 'Invalid Variable Type' - TYPE_MISMATCH = 'Variable Type Mismatch' - UNKNOWN = 'Unknown' - ERROR = 'Error' end end From 2d7074980821fa085ad670b9508e2211db08cea4 Mon Sep 17 00:00:00 2001 From: Jason Salaber Date: Mon, 28 Jul 2025 10:12:48 -0400 Subject: [PATCH 11/11] chore: try to run cloud for ruby test harness --- .github/workflows/test-harness.yml | 2 +- lib/devcycle-ruby-server-sdk/api/client.rb | 6 +++--- lib/devcycle-ruby-server-sdk/eval_reasons.rb | 5 ----- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/.github/workflows/test-harness.yml b/.github/workflows/test-harness.yml index 0d9115a..9eb3c9e 100644 --- a/.github/workflows/test-harness.yml +++ b/.github/workflows/test-harness.yml @@ -14,4 +14,4 @@ jobs: with: sdks-to-test: ruby sdk-github-sha: ${{github.event.pull_request.head.sha}} - sdk-capabilities: '{ "Ruby": ["clientCustomData", "v2Config", "variableFeatureId", "allVariables", "allFeatures", "evalReason", "cloudEvalReason", "eventsEvalReason", "variablesFeatureId"]}' + sdk-capabilities: '{ "Ruby": ["clientCustomData", "v2Config", "allVariables", "allFeatures", "evalReason", "eventsEvalReason", "variablesFeatureId"]}' diff --git a/lib/devcycle-ruby-server-sdk/api/client.rb b/lib/devcycle-ruby-server-sdk/api/client.rb index 7973cac..5261730 100644 --- a/lib/devcycle-ruby-server-sdk/api/client.rb +++ b/lib/devcycle-ruby-server-sdk/api/client.rb @@ -195,7 +195,7 @@ def variable(user, key, default, opts = {}) value = default type = determine_variable_type(default) defaulted = true - eval = { reason: DevCycle::EVAL_REASONS::DEFAULT, details: DevCycle::DEFAULT_REASON_DETAILS::MISSING_CONFIG } + eval = { reason: DevCycle::EVAL_REASONS::DEFAULT, details: DevCycle::DEFAULT_REASON_DETAILS::USER_NOT_TARGETED } if local_bucketing_initialized? && @local_bucketing.has_config type_code = variable_type_code_from_type(type) variable_pb = variable_for_user_pb(user, key, type_code) @@ -580,10 +580,10 @@ def get_variable_value(variable_pb) def get_eval_reason(variable_pb) if variable_pb.nil? - { reason: DevCycle::EVAL_REASONS::DEFAULT, details: DevCycle::DEFAULT_REASON_DETAILS::MISSING_CONFIG} + { reason: DevCycle::EVAL_REASONS::DEFAULT, details: DevCycle::DEFAULT_REASON_DETAILS::USER_NOT_TARGETED} else if variable_pb.eval.nil? - { reason: DevCycle::EVAL_REASONS::DEFAULT, details: DevCycle::DEFAULT_REASON_DETAILS::MISSING_CONFIG } + { reason: DevCycle::EVAL_REASONS::DEFAULT, details: DevCycle::DEFAULT_REASON_DETAILS::USER_NOT_TARGETED } else { reason: variable_pb.eval.reason, details: variable_pb.eval.details, target_id: variable_pb.eval.target_id } end diff --git a/lib/devcycle-ruby-server-sdk/eval_reasons.rb b/lib/devcycle-ruby-server-sdk/eval_reasons.rb index 4c54521..01f58de 100644 --- a/lib/devcycle-ruby-server-sdk/eval_reasons.rb +++ b/lib/devcycle-ruby-server-sdk/eval_reasons.rb @@ -1,9 +1,4 @@ module DevCycle - - # Default reasons for evaluation failures - module DEFAULT_REASONS - USER_NOT_TARGETED = 'USER_NOT_TARGETED' - end # Evaluation reasons for successful evaluations module EVAL_REASONS DEFAULT = 'DEFAULT'