Skip to content

Commit 01768da

Browse files
authored
Handle delete of empty list of keys (#998)
1 parent 7bb6b63 commit 01768da

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

lib/redis.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -555,6 +555,9 @@ def migrate(key, options)
555555
# @param [String, Array<String>] keys
556556
# @return [Integer] number of keys that were deleted
557557
def del(*keys)
558+
keys.flatten!(1)
559+
return 0 if keys.empty?
560+
558561
synchronize do |client|
559562
client.call([:del] + keys)
560563
end

test/commands_on_value_types_test.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ def test_del
1414

1515
assert_equal ["bar", "baz", "foo"], r.keys("*").sort
1616

17+
assert_equal 0, r.del("")
18+
1719
assert_equal 1, r.del("foo")
1820

1921
assert_equal ["bar", "baz"], r.keys("*").sort
@@ -30,6 +32,8 @@ def test_del_with_array_argument
3032

3133
assert_equal ["bar", "baz", "foo"], r.keys("*").sort
3234

35+
assert_equal 0, r.del([])
36+
3337
assert_equal 1, r.del(["foo"])
3438

3539
assert_equal ["bar", "baz"], r.keys("*").sort

0 commit comments

Comments
 (0)