--- !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, #&lt;&lt;, 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, :&lt;&lt;, :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: 
