Current File : //proc/thread-self/root/opt/alt/ruby18/share/ri/1.8/system/Forwardable/cdesc-Forwardable.yaml |
--- !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: