Skip to content

Commit 2beb74f

Browse files
pbstriker38jeremy
authored andcommitted
Return counter value after incrementing/decrementing
- Redis multi return an array with the responses of each command that was run. Use [-1] to get the last value of the array and return it.
1 parent 6abb2b2 commit 2beb74f

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

lib/kredis/types/counter.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ def increment(by: 1)
77
multi do
88
set 0, ex: expires_in, nx: true
99
incrby by
10-
end
10+
end[-1]
1111
end
1212

1313
def decrement(by: 1)
1414
multi do
1515
set 0, ex: expires_in, nx: true
1616
decrby by
17-
end
17+
end[-1]
1818
end
1919

2020
def value

test/types/counter_test.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,27 +12,35 @@ class CounterTest < ActiveSupport::TestCase
1212

1313
@counter.increment
1414
assert_equal 2, @counter.value
15+
16+
assert_equal 3, @counter.increment
1517
end
1618

1719
test "increment by 2" do
1820
assert_equal 0, @counter.value
1921

2022
@counter.increment by: 2
2123
assert_equal 2, @counter.value
24+
25+
assert_equal 4, @counter.increment(by: 2)
2226
end
2327

2428
test "decrement" do
2529
assert_equal 0, @counter.value
2630

2731
@counter.decrement
2832
assert_equal (-1), @counter.value
33+
34+
assert_equal (-2), @counter.decrement
2935
end
3036

3137
test "decrement by 2" do
3238
assert_equal 0, @counter.value
3339

3440
@counter.decrement by: 2
3541
assert_equal (-2), @counter.value
42+
43+
assert_equal (-4), @counter.decrement(by: 2)
3644
end
3745

3846
test "expiring counter" do

0 commit comments

Comments
 (0)