As an alternative, 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?
Your example would then become:
foo = Object.new
foo.extend do
def bar
# ...
end
def baz
# ...
end
end
Sorry if this is impossible for some reason I don't know of,
Dave
On Mar 6, 2013, at 9:59 PM, alexeymuranov (Alexey Muranov) wrote:
Issue #8038 has been reported by alexeymuranov (Alexey Muranov).
Feature #8038: Keyword object
to be used instead of class <<
https://bugs.ruby-lang.org/issues/8038
Author: alexeymuranov (Alexey Muranov)
Status: Open
Priority: Normal
Assignee:
Category: core
Target version: Next Major
=begin
I propose to introduce a new keyword (({object})) and to use it instead of the mysterious (({class <<})):
object foo
def bar
# ...
end
def baz
# ...
end
end
instead of
foo = Object.new
class << foo
def bar
# ...
end
def baz
# ...
end
end
=end
--
http://bugs.ruby-lang.org/