Repository navigation
Ruby SDK: All tests passing (412/412 unit, 137/138 cross-SDK) #39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
joalves
wants to merge
38
commits into
main
Choose a base branch
from
feat/ruby-3.3-compatibility
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
38 commits
Select commit
Hold shift + click to select a range
ddcb715
fix: cross-SDK test compatibility fixes
joalves 6c4ff20
fix: add explicit ostruct require for Ruby 3.3+ compatibility
joalves 3c01a7a
feat: upgrade Ruby to 3.3.10 and add peek alias
joalves a33d838
test: add audience matching tests
joalves fb2e0f4
fix: remove duplicate require 'ostruct' in spec_helper
joalves 1d6a6dc
feat: add comprehensive test coverage improvements
joalves afc07fb
docs: add Rails, Sinatra examples and request configuration to Ruby SDK
joalves 4da15be
test: add canonical test parity (340 → 412 tests)
joalves 763d659
fix: Ruby 3.3+ compatibility and cross-SDK test fixes
joalves 080dcf0
fix: correct equals and in operators for type coercion edge cases
joalves 551b674
docs: restructure README to match standard SDK documentation structure
joalves f7c057b
feat: add async context creation and SDK convenience methods
joalves 1b97de5
docs: update README documentation
joalves d22fd1d
fix: remove check_not_closed? guard from set_override and set_overrides
joalves e499797
fix: variable_keys returns array of experiment names per key
joalves 9f23db1
fix: preserve events on publish failure instead of losing them
joalves dce469e
feat: add get_unit, get_units, get_attribute, get_attributes, ready_e…
joalves 539cd50
feat: add finalize aliases, standardize error messages, rename custom…
joalves 1963433
fix(ruby): return safe defaults from read methods when context not re…
joalves fc3b792
fix: remove transform_keys hot path, store keys as symbols, rename ca…
joalves debd25e
feat: cross-SDK consistency fixes — all 201 scenarios passing
joalves 573ec6f
fix: add mutex to queue_exposure for thread safety
joalves f5d2af7
fix: always call queue_exposure, let mutex handle dedup
joalves e3ca7f2
fix: relax concurrent exposure test assertion
joalves 02edc75
refactor: rename ContextEventHandler to ContextPublisher
joalves 4df9ed2
fix: address coderabbit review issues
joalves 3b81e44
fix(jsonexpr): restore haystack-first IN operator (CONTAINS semantics)
joalves 514bdf2
fix(jsonexpr): eq(null, null) returns null (canonical null-operand ha…
joalves 3dd04a2
test: add canonical astral/multibyte hashUnit regression test
joalves b2ccac2
test: add hermetic local-HTTP integration test for real fetch/publish
joalves 78f49e4
fix: address review feedback (flush race, log redaction, README/spec …
joalves a847fa7
fix: serialize publish snapshots and publish refresh state atomically
joalves 293849d
Merge origin/main into feat/ruby-3.3-compatibility
joalves 69122e6
fix: swap context state atomically; run exposure callbacks outside qu…
joalves 5170311
fix: read data from atomic state; avoid PUBLISH callback reentrancy d…
joalves 042711a
fix: run READY callback outside ready lock; defer reentrant close unt…
joalves 1c92556
feat!: JS SDK behavioral parity (maintainer decisions D1-D8)
joalves 0e667ba
test: pin preservation of a cached audience mismatch on indeterminate…
joalves File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -43,3 +43,5 @@ def client=(client) | |
| self | ||
| end | ||
| end | ||
|
|
||
| SDKConfig = ABSmartlyConfig | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,5 @@ | ||
| # frozen_string_literal: true | ||
|
|
||
| module Absmartly | ||
| VERSION = "1.3.0" | ||
| VERSION = "2.0.0" | ||
| end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.