Skip to content

Commit 9b1100e

Browse files
author
Mikhail Varabyou
committed
add #slice and make #elements use it.
remove extra #clear test.
1 parent 6681929 commit 9b1100e

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

lib/kredis/types/list.rb

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,15 @@ class Kredis::Types::List < Kredis::Types::Proxying
77

88
attr_accessor :typed
99

10-
def elements(start = 0, stop = -1)
11-
strings_to_types(lrange(start, stop) || [], typed)
10+
def elements
11+
slice(0, -1)
1212
end
1313
alias to_a elements
1414

15+
def slice(start = 0, stop = -1)
16+
strings_to_types(lrange(start, stop) || [], typed)
17+
end
18+
1519
def remove(*elements)
1620
types_to_strings(elements, typed).each { |element| lrem 0, element }
1721
end
@@ -30,11 +34,11 @@ def clear
3034
end
3135

3236
def first(n = nil)
33-
n ? elements(0, n - 1) : elements(0, 0).first
37+
n ? slice(0, n - 1) : slice(0, 0).first
3438
end
3539

3640
def last(n = nil)
37-
n ? elements(-n, -1) : elements(-1, -1).first
41+
n ? slice(-n, -1) : slice(-1, -1).first
3842
end
3943

4044
def size

test/types/list_test.rb

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -71,15 +71,11 @@ class ListTest < ActiveSupport::TestCase
7171

7272
test "size" do
7373
@list.clear
74+
assert_equal 0, @list.size
7475
@list.append(%w[ 1 2 3 ])
7576
assert_equal 3, @list.size
7677
end
7778

78-
test "size when list removed" do
79-
@list.clear
80-
assert_equal 0, @list.size
81-
end
82-
8379
test "exists?" do
8480
assert_not @list.exists?
8581

0 commit comments

Comments
 (0)