| Server IP : 109.234.162.214 / Your IP : 216.73.216.102 Web Server : Apache System : Linux servd162214.srv.odns.fr 4.18.0-372.26.1.lve.1.el8.x86_64 #1 SMP Fri Sep 16 14:08:19 EDT 2022 x86_64 User : carpe ( 1178) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /opt/alt/ruby18/share/ri/1.8/system/Forwardable/ |
Upload File : |
--- !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: