linked 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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