--- !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 @records. You could provide the lookup method #record_number(), which simply calls #[] on the @records 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: