-
Notifications
You must be signed in to change notification settings - Fork 3
feat: Ruby 3.3 compatibility and cross-SDK improvements #37
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
base: main
Are you sure you want to change the base?
Conversation
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. WalkthroughThe PR updates Ruby from 3.0.6 to 3.3.10, adds attribute-sequence tracking via a new Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
1107860 to
9f29c56
Compare
- Add custom_field_value method for accessing custom field values - Fix type coercion for custom field values (json, number, boolean types)
48aa997 to
ad0aea2
Compare
- Upgrade Ruby version from 3.0.6 to 3.3.10 - Update gem dependencies for compatibility - Add peek alias to peek_treatment method
ad0aea2 to
3c01a7a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
lib/context.rb (1)
555-560: Handle boolean custom fields provided as actual booleans or differently-cased strings.
custom_value == "true"will coercetrue(boolean) and"TRUE"tofalse, which can silently flip values if upstream JSON booleans or case variants appear. Consider normalising.🔧 Proposed fix
- elsif custom_field_value.type.start_with?("boolean") - value.value = custom_value == "true" + elsif custom_field_value.type.start_with?("boolean") + value.value = (custom_value == true) || custom_value.to_s.casecmp?("true")
- Add object key containment test for in_operator - Add peek_treatment audience re-evaluation tests - Add treatment audience re-evaluation tests for strict/non-strict modes - Add tests for audience cache invalidation behavior
Summary
ostructrequire for Ruby 3.3+ compatibilitycustom_field_valuemethod for accessing custom field valuespeekalias topeek_treatmentmethodTest plan
Summary by CodeRabbit
Chores
New Features
Bug Fixes
✏️ Tip: You can customize this high-level summary in your review settings.