Skip to content

Commit f053d85

Browse files
authored
Merge pull request #2568 from ksss/enumerator-lazy-eager
Add signature for `Enumerator::Lazy#eager`
2 parents 428705e + f04f2dc commit f053d85

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

core/enumerator.rbs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -590,6 +590,14 @@ class Enumerator::Lazy[out Elem, out Return = void] < Enumerator[Elem, Return]
590590
# Like Enumerable#compact, but chains operation to be lazy-evaluated.
591591
#
592592
def compact: () -> Enumerator::Lazy[Elem, Return]
593+
594+
# <!--
595+
# rdoc-file=enumerator.c
596+
# - lzy.eager -> enum
597+
# -->
598+
# Returns a non-lazy Enumerator converted from the lazy enumerator.
599+
#
600+
def eager: () -> ::Enumerator[Elem, Return]
593601
end
594602

595603
# <!-- rdoc-file=enumerator.c -->

test/stdlib/Enumerator_test.rb

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,16 @@ def test_to_proc
9393
end
9494
end
9595

96+
class EnumeratorLazyInstanceTest < Test::Unit::TestCase
97+
include TestHelper
98+
99+
testing "::Enumerator::Lazy[::Integer, ::Range[Integer]]"
100+
101+
def test_eager
102+
assert_send_type "() -> Enumerator[Integer, Range[Integer]]", (1..3).lazy, :eager
103+
end
104+
end
105+
96106
class EnumeratorChainInstanceTest < Test::Unit::TestCase
97107
include TestHelper
98108

0 commit comments

Comments
 (0)