Skip to content

feat(ruby): add DELIFEQ command support - #382

Merged
Aryex merged 9 commits into
mainfrom
agent/379/delifeq-ruby
Oct 28, 2026
Merged

Aryex merged 9 commits into
mainfrom
agent/379/delifeq-ruby

Conversation

@Aryex

@Aryex Aryex commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Add Valkey 9.0 DELIFEQ support as delifeq(key, value). The method deletes a key only when its value exactly matches the comparison value and returns a Boolean result.

Issue link

Closes Add DELIFEQ command support.

Changes

  • Adds the public string command, YARD documentation, changelog entry, and request type 1523. Comparison values are stringified with to_s, matching existing Ruby command conventions.
  • Adds unit coverage for request construction and conversion, integration coverage for matching, nonmatching, non-string, binary, and pipeline behavior, and shared imperative MULTI and EXEC Boolean conversion coverage.
  • Adds initial Ruby testing guidelines in docs/TESTING.md and links them from the AGENTS.md context retrieval table.

Limitations

DELIFEQ requires Valkey 9.0. Imperative MULTI and EXEC coverage is skipped in cluster mode because cluster transactions are not supported.

Testing

  • git diff --check
  • bundle exec ruby -Itest -Ilib test/unit/commands/string_commands_test.rb: 4 runs, 7 assertions
  • bundle exec rake test:unit: 515 runs, 1,339 assertions
  • SKIP_TLS_TESTS=true bundle exec rake test:standalone: 1,102 runs, 56,537 assertions
  • SKIP_TLS_TESTS=true bundle exec rake test:cluster: 1,055 runs, 135,633 assertions
  • Targeted standalone and cluster DELIFEQ integration tests
  • Targeted imperative MULTI and EXEC Boolean conversion test: 1 run, 2 assertions
  • bundle exec rubocop --cache false: 139 files inspected, no offenses
  • Current GitHub CI RuboCop check passes

Checklist

Before submitting the PR make sure the following are checked:

  • This Pull Request is related to an issue.
  • Commit message describe your changes
  • Commits are signed off (git commit -s) per the DCO.
  • Tests are added or updated.
  • CHANGELOG.md and documentation files are updated.
  • Linters have been run (bundle exec rubocop) and pass.
  • Destination branch is correct - main.

@Aryex Aryex mentioned this pull request Oct 21, 2026
5 of 7 tasks
@Aryex
Aryex added this pull request to stack #384 October 21, 2026 22:46
@Aryex Aryex self-assigned this Oct 21, 2026
@Aryex
Aryex requested review from currantw and yipin-chen October 21, 2026 22:50
@Aryex
Aryex marked this pull request as ready for review October 23, 2026 16:54
Base automatically changed from agent/379/delifeq-core-bump to main October 23, 2026 20:15
@Aryex
Aryex force-pushed the agent/379/delifeq-ruby branch from 6aa457b to a5f7980 Compare October 23, 2026 20:15
Comment thread lib/valkey/commands/string_commands.rb
Comment thread lib/valkey/commands/transaction_commands.rb
Comment thread test/lint/string_commands.rb Outdated
Comment thread test/lint/string_commands.rb Outdated
Comment thread test/lint/string_commands.rb
Comment thread test/lint/transaction_commands.rb Outdated
Comment thread test/unit/commands/string_commands_test.rb Outdated
Comment thread test/unit/commands/string_commands_test.rb
Comment thread test/unit/commands/string_commands_test.rb
Comment thread test/unit/commands/string_commands_test.rb
@Aryex
Aryex requested a review from currantw October 27, 2026 16:54
@Aryex
Aryex force-pushed the agent/379/delifeq-ruby branch from f14a3d5 to 97d70fe Compare October 27, 2026 16:56
dependabot Bot and others added 9 commits October 28, 2026 09:56
…s-scan.yml (#395)

Bumps [valkey-io/valkey-glide/.github/workflows/git-secrets-scan.yml](https://github.com/valkey-io/valkey-glide) from eb954a09b68a3a45634b6c26573e5dca19ea1130 to 4fa2e056a3055500bd6bdb04a9db7a9448bf9243.
- [Release notes](https://github.com/valkey-io/valkey-glide/releases)
- [Changelog](https://github.com/valkey-io/valkey-glide/blob/main/CHANGELOG.md)
- [Commits](valkey-io/valkey-glide@eb954a0...4fa2e05)

---
updated-dependencies:
- dependency-name: valkey-io/valkey-glide/.github/workflows/git-secrets-scan.yml
  dependency-version: 70006cc667a527e731aba2971fa57f8308704c1b
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alex Le <35547559+Aryex@users.noreply.github.com>
Signed-off-by: Alex Le <alex.le@improving.com>
Signed-off-by: Alex Le <alex.le@improving.com>
Signed-off-by: Alex Le <alex.le@improving.com>
Signed-off-by: Alex Le <alex.le@improving.com>
Signed-off-by: Alex Le <alex.le@improving.com>
Signed-off-by: Alex Le <alex.le@improving.com>
Signed-off-by: Alex Le <alex.le@improving.com>
Signed-off-by: Alex Le <alex.le@improving.com>
@Aryex
Aryex force-pushed the agent/379/delifeq-ruby branch from 97d70fe to aed2995 Compare October 28, 2026 16:56
@Aryex
Aryex merged commit d61a46f into main Oct 28, 2026
20 checks passed
@Aryex
Aryex deleted the agent/379/delifeq-ruby branch October 28, 2026 18:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add DELIFEQ command support

3 participants