Skip to content

Commit d425b31

Browse files
committed
Support nx and remove expire_in
1 parent eeb2028 commit d425b31

File tree

2 files changed

+13
-11
lines changed

2 files changed

+13
-11
lines changed

lib/kredis/types/list.rb

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ def prepend(*elements)
2020
return if elements.flatten.empty?
2121

2222
lpush types_to_strings(elements, typed)
23-
expire_in expires_in if expires_in
23+
expire expires_in.to_i, nx: true if expires_in
2424
elements
2525
end
2626

2727
def append(*elements)
2828
return if elements.flatten.empty?
2929

3030
rpush types_to_strings(elements, typed)
31-
expire_in expires_in if expires_in
31+
expire expires_in.to_i, nx: true if expires_in
3232
elements
3333
end
3434
alias << append
@@ -41,10 +41,6 @@ def last(n = nil)
4141
n ? lrange(-n, -1) : lrange(-1, -1).first
4242
end
4343

44-
def expire_in(seconds)
45-
expire seconds.to_i
46-
end
47-
4844
private
4945
def set_default
5046
append default

test/types/list_test.rb

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,12 @@ class ListTest < ActiveSupport::TestCase
7878

7979
test "append with expiring list" do
8080
@list = Kredis.list "mylist", expires_in: 1.second
81-
@list.append(%w[1 2 3])
82-
83-
sleep 0.5.seconds
81+
@list.append(%w[1 2])
82+
83+
sleep 0.2.seconds
84+
@list.append(3)
85+
86+
sleep 0.3.seconds
8487
assert_equal %w[ 1 2 3 ], @list.elements
8588

8689
sleep 0.6.seconds
@@ -89,9 +92,12 @@ class ListTest < ActiveSupport::TestCase
8992

9093
test "prepend with expiring list" do
9194
@list = Kredis.list "mylist", expires_in: 1.second
92-
@list.prepend(%w[1 2 3])
95+
@list.prepend(%w[1 2])
96+
97+
sleep 0.2.seconds
98+
@list.prepend(3)
9399

94-
sleep 0.5.seconds
100+
sleep 0.3.seconds
95101
assert_equal %w[ 3 2 1 ], @list.elements
96102

97103
sleep 0.6.seconds

0 commit comments

Comments
 (0)