linked 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/linked/list.rb +12 -4
- data/lib/linked/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9f849d6e81849d33fc12f3d7d6812b9e73a59ad7
|
4
|
+
data.tar.gz: c236972593f1ab6e4e677fd554cf1bb50fbddddc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f035c1eefc48f188b208632a6bbc80135be6b7b7110b3cb8faa02a26b417a096754fcd1f7593991ba7265026f0485fa0b3e49022fdc40fa7276e5499ebee3e4a
|
7
|
+
data.tar.gz: 31b1561e5d7c6dab409533cb1b263bec7a6db13c4a889acb99605997702cd52b577828673617f23bb27b26d84966c41a20181225f10d150a25ba52defc10d591
|
data/lib/linked/list.rb
CHANGED
@@ -232,8 +232,12 @@ module Linked
|
|
232
232
|
# Iterates over each item in the list If a block is not given an enumerator
|
233
233
|
# is returned.
|
234
234
|
|
235
|
-
def each_item
|
236
|
-
|
235
|
+
def each_item
|
236
|
+
return to_enum(__method__) { count } unless block_given?
|
237
|
+
return if empty?
|
238
|
+
|
239
|
+
item = eol
|
240
|
+
loop { yield item = item.next }
|
237
241
|
end
|
238
242
|
|
239
243
|
alias each each_item
|
@@ -241,8 +245,12 @@ module Linked
|
|
241
245
|
# Iterates over each item in the list in reverse order. If a block is not
|
242
246
|
# given an enumerator is returned.
|
243
247
|
|
244
|
-
def reverse_each_item
|
245
|
-
|
248
|
+
def reverse_each_item
|
249
|
+
return to_enum(__method__) { count } unless block_given?
|
250
|
+
return if empty?
|
251
|
+
|
252
|
+
item = eol
|
253
|
+
loop { yield item = item.prev }
|
246
254
|
end
|
247
255
|
|
248
256
|
alias reverse_each reverse_each_item
|
data/lib/linked/version.rb
CHANGED