Bug #4752 » 0001-forwardable-doc-def_delegator-with-example.patch
lib/forwardable.rb | ||
---|---|---|
end
|
||
end
|
||
# Define +method+ as delegator instance method with an optional
|
||
# alias name +ali+. Method calls to +ali+ will be delegated to
|
||
# +accessor.method+.
|
||
#
|
||
# class MyQueue
|
||
# extend Forwardable
|
||
# attr_reader :queue
|
||
# def initialize
|
||
# @queue = []
|
||
# end
|
||
#
|
||
# def_delegator :@queue, :push, :mypush
|
||
# end
|
||
#
|
||
# q = MyQueue.new
|
||
# q.mypush 42
|
||
# q.queue #=> [42]
|
||
# q.push 23 #=> NoMethodError
|
||
#
|
||
def def_instance_delegator(accessor, method, ali = method)
|
||
line_no = __LINE__; str = %{
|
||
def #{ali}(*args, &block)
|