From aa3e89d08d81f38ba31ed8eb006725b90a29a057 Mon Sep 17 00:00:00 2001 From: Smit Shah Date: Sun, 18 Jan 2015 09:12:46 +0530 Subject: [PATCH 1/2] Implemented Enumerator#peek_values --- core/src/main/java/org/jruby/RubyEnumerator.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/org/jruby/RubyEnumerator.java b/core/src/main/java/org/jruby/RubyEnumerator.java index 0cd16749950..a81e6c2594b 100644 --- a/core/src/main/java/org/jruby/RubyEnumerator.java +++ b/core/src/main/java/org/jruby/RubyEnumerator.java @@ -474,7 +474,14 @@ public synchronized IRubyObject peek(ThreadContext context) { return nexter.peek(); } - + + @JRubyMethod(name = "peek_values") + public synchronized IRubyObject peekValues(ThreadContext context) { + ensureNexter(context); + + return RubyArray.newArray(context.runtime, nexter.peek()); + } + private void ensureNexter(ThreadContext context) { if (nexter == null) { if (Options.ENUMERATOR_LIGHTWEIGHT.load()) { From c41b90cfcffa62bed94db9e99cdbd67d05a97ce8 Mon Sep 17 00:00:00 2001 From: Smit Shah Date: Sun, 18 Jan 2015 09:13:04 +0530 Subject: [PATCH 2/2] Implemented Enumerator#next_values --- core/src/main/java/org/jruby/RubyEnumerator.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/core/src/main/java/org/jruby/RubyEnumerator.java b/core/src/main/java/org/jruby/RubyEnumerator.java index a81e6c2594b..6ab7160a87c 100644 --- a/core/src/main/java/org/jruby/RubyEnumerator.java +++ b/core/src/main/java/org/jruby/RubyEnumerator.java @@ -482,6 +482,13 @@ public synchronized IRubyObject peekValues(ThreadContext context) { return RubyArray.newArray(context.runtime, nexter.peek()); } + @JRubyMethod(name = "next_values") + public synchronized IRubyObject nextValues(ThreadContext context) { + ensureNexter(context); + + return RubyArray.newArray(context.runtime, nexter.next()); + } + private void ensureNexter(ThreadContext context) { if (nexter == null) { if (Options.ENUMERATOR_LIGHTWEIGHT.load()) {