D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
opt
/
alt
/
ruby18
/
share
/
ri
/
1.8
/
system
/
Forwardable
/
Filename :
cdesc-Forwardable.yaml
back
Copy
--- !ruby/object:RI::ClassDescription attributes: - !ruby/object:RI::Attribute comment: - !ruby/struct:SM::Flow::P body: force Forwardable to show up in stack backtraces of delegated methods name: debug rw: RW class_methods: [] comment: - !ruby/struct:SM::Flow::P body: "The Forwardable module provides delegation of specified methods to a designated object, using the methods #def_delegator and #def_delegators." - !ruby/struct:SM::Flow::P body: "For example, say you have a class RecordCollection which contains an array <tt>@records</tt>. You could provide the lookup method #record_number(), which simply calls #[] on the <tt>@records</tt> array, like this:" - !ruby/struct:SM::Flow::VERB body: " class RecordCollection\n extend Forwardable\n def_delegator :@records, :[], :record_number\n end\n" - !ruby/struct:SM::Flow::P body: "Further, if you wish to provide the methods #size, #<<, and #map, all of which delegate to @records, this is how you can do it:" - !ruby/struct:SM::Flow::VERB body: " class RecordCollection\n # extend Forwardable, but we did that above\n def_delegators :@records, :size, :<<, :map\n end\n" - !ruby/struct:SM::Flow::P body: Also see the example at forwardable.rb. constants: [] full_name: Forwardable includes: [] instance_methods: - !ruby/object:RI::MethodSummary name: def_delegator - !ruby/object:RI::MethodSummary name: def_delegators - !ruby/object:RI::MethodSummary name: def_instance_delegator - !ruby/object:RI::MethodSummary name: def_instance_delegators name: Forwardable superclass: