Current Path : /usr/local/share/ri/1.8/system/Forwardable/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //usr/local/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: