From cc7758be85fd3104dad4aea2751245e5d068fd17 Mon Sep 17 00:00:00 2001 From: Seiichi Yonezawa Date: Fri, 29 Dec 2023 07:51:37 +0900 Subject: [PATCH] Support nx and remove expire_in --- lib/kredis/types/list.rb | 8 ++------ test/types/list_test.rb | 16 +++++++++++----- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/lib/kredis/types/list.rb b/lib/kredis/types/list.rb index 67d13dc..cb4e767 100644 --- a/lib/kredis/types/list.rb +++ b/lib/kredis/types/list.rb @@ -20,7 +20,7 @@ def prepend(*elements) return if elements.flatten.empty? lpush types_to_strings(elements, typed) - expire_in expires_in if expires_in + expire expires_in.to_i, nx: true if expires_in elements end @@ -28,7 +28,7 @@ def append(*elements) return if elements.flatten.empty? rpush types_to_strings(elements, typed) - expire_in expires_in if expires_in + expire expires_in.to_i, nx: true if expires_in elements end alias << append @@ -41,10 +41,6 @@ def last(n = nil) n ? lrange(-n, -1) : lrange(-1, -1).first end - def expire_in(seconds) - expire seconds.to_i - end - private def set_default append default diff --git a/test/types/list_test.rb b/test/types/list_test.rb index 25ec713..06c57c9 100644 --- a/test/types/list_test.rb +++ b/test/types/list_test.rb @@ -78,9 +78,12 @@ class ListTest < ActiveSupport::TestCase test "append with expiring list" do @list = Kredis.list "mylist", expires_in: 1.second - @list.append(%w[1 2 3]) - - sleep 0.5.seconds + @list.append(%w[1 2]) + + sleep 0.2.seconds + @list.append(3) + + sleep 0.3.seconds assert_equal %w[ 1 2 3 ], @list.elements sleep 0.6.seconds @@ -89,9 +92,12 @@ class ListTest < ActiveSupport::TestCase test "prepend with expiring list" do @list = Kredis.list "mylist", expires_in: 1.second - @list.prepend(%w[1 2 3]) + @list.prepend(%w[1 2]) + + sleep 0.2.seconds + @list.prepend(3) - sleep 0.5.seconds + sleep 0.3.seconds assert_equal %w[ 3 2 1 ], @list.elements sleep 0.6.seconds