diff options
| -rw-r--r-- | mrbgems/mruby-enum-lazy/mrblib/lazy.rb | 3 | ||||
| -rw-r--r-- | mrbgems/mruby-enumerator/mrblib/enumerator.rb | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/mrbgems/mruby-enum-lazy/mrblib/lazy.rb b/mrbgems/mruby-enum-lazy/mrblib/lazy.rb index 8a7ac7fdc..c98681edf 100644 --- a/mrbgems/mruby-enum-lazy/mrblib/lazy.rb +++ b/mrbgems/mruby-enum-lazy/mrblib/lazy.rb @@ -43,6 +43,9 @@ class Enumerator end def to_enum(meth=:each, *args, &block) + unless self.respond_to?(meth) + raise NoMethodError, "undefined method #{meth}" + end lz = Lazy.new(self, &block) lz.obj = self lz.meth = meth diff --git a/mrbgems/mruby-enumerator/mrblib/enumerator.rb b/mrbgems/mruby-enumerator/mrblib/enumerator.rb index c872ceedc..1e77af369 100644 --- a/mrbgems/mruby-enumerator/mrblib/enumerator.rb +++ b/mrbgems/mruby-enumerator/mrblib/enumerator.rb @@ -115,6 +115,9 @@ class Enumerator else raise ArgumentError unless obj end + if @obj and !self.respond_to?(meth) + raise NoMethodError, "undefined method #{meth}" + end @obj = obj @meth = meth |
