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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 128756e7bd9d7a135b08f43d8318d94960aa109a
4
- data.tar.gz: 1ab7cd3ac051d2beffb1ef345ba45784b0396310
3
+ metadata.gz: 9f849d6e81849d33fc12f3d7d6812b9e73a59ad7
4
+ data.tar.gz: c236972593f1ab6e4e677fd554cf1bb50fbddddc
5
5
  SHA512:
6
- metadata.gz: e7cdc70d3062ec1e70cb854bb5e52f05f7621e6a8225a9c6a3816ae2b57ad0fdfd9d165dd61d48bf9c0f1ad15f27f5d0027ff7a67b09f91673ce56cf064f3a01
7
- data.tar.gz: b7439ec77d5db6122b2fc0f230a7eea8ac9d0043fec80674d392e192977354a5f2ea7338284916b720249dd251f0f125f44ceef7c609e1ea21147dba0f6a4f55
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(&block)
236
- eol.after(&block)
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(&block)
245
- eol.before(&block)
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Linked
4
- VERSION = '0.3.0'
4
+ VERSION = '0.3.1'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: linked
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sebastian Lindberg