Issue #8046 has been updated by nobu (Nobuyoshi Nakada). Without a module, it'd not be #extend but #singleton_class_eval. ---------------------------------------- Feature #8046: allow Object#extend to take a block https://bugs.ruby-lang.org/issues/8046#change-37390 Author: phluid61 (Matthew Kerwin) Status: Open Priority: Normal Assignee: Category: Target version: next minor =begin In #8038 david_macmahon proposed: How about allowing Object#extend to take a block that would be executed with the context such that methods defined therein would become singleton methods of the object receiving #extend? For example: foo = Object.new foo.extend do def bar # ... end def baz # ... end end =end -- http://bugs.ruby-lang.org/