summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2014-04-06 20:27:07 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2014-04-06 20:27:07 +0900
commitd016059b0760dfd36181001ebd14a48c9394abd9 (patch)
tree915c1d54785dc9452da188aa39698e8d371f5a75
parenteab754d859e3db64380b42b7c913f180986f6125 (diff)
parent1368ae647bc14ad97095c059ce69d8906179440c (diff)
downloadmruby-d016059b0760dfd36181001ebd14a48c9394abd9.tar.gz
mruby-d016059b0760dfd36181001ebd14a48c9394abd9.zip
Merge pull request #2017 from suzukaze/fix_enumerator.inspect
Add args in Enumerator#inspect
-rw-r--r--mrbgems/mruby-enumerator/mrblib/enumerator.rb10
-rw-r--r--mrbgems/mruby-enumerator/test/enumerator.rb4
2 files changed, 13 insertions, 1 deletions
diff --git a/mrbgems/mruby-enumerator/mrblib/enumerator.rb b/mrbgems/mruby-enumerator/mrblib/enumerator.rb
index e1c7d7ef5..7915a8472 100644
--- a/mrbgems/mruby-enumerator/mrblib/enumerator.rb
+++ b/mrbgems/mruby-enumerator/mrblib/enumerator.rb
@@ -216,7 +216,15 @@ class Enumerator
def inspect
return "#<#{self.class}: uninitialized>" unless @obj
- "#<#{self.class}: #{@obj}:#{@meth}>"
+
+ args = ""
+ if @args && @args.size > 0
+ args = "("
+ @args.each {|arg| args << "#{arg}, " }
+ args = args[0, args.size-2]
+ args << ")"
+ end
+ "#<#{self.class}: #{@obj}:#{@meth}#{args}>"
end
##
diff --git a/mrbgems/mruby-enumerator/test/enumerator.rb b/mrbgems/mruby-enumerator/test/enumerator.rb
index 5954af4e0..b22ed7754 100644
--- a/mrbgems/mruby-enumerator/test/enumerator.rb
+++ b/mrbgems/mruby-enumerator/test/enumerator.rb
@@ -90,6 +90,10 @@ end
assert 'Enumerator#inspect' do
e = (0..10).each
assert_equal("#<Enumerator: 0..10:each>", e.inspect)
+ e = Enumerator.new("FooObject", :foo, 1)
+ assert_equal("#<Enumerator: FooObject:foo(1)>", e.inspect)
+ e = Enumerator.new("FooObject", :foo, 1, 2, 3)
+ assert_equal("#<Enumerator: FooObject:foo(1, 2, 3)>", e.inspect)
end
assert 'Enumerator#each' do