D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
alt
/
ruby34
/
share
/
ri
/
system
/
SingleForwardable
/
Filename :
cdesc-SingleForwardable.ri
back
Copy
U:RDoc::NormalModule[iI"SingleForwardable:ET@0o:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"SSingleForwardable can be used to setup delegation at the object level as well.;To:RDoc::Markup::BlankLine o:RDoc::Markup::Verbatim;[ I"printer = String.new ;TI"Mprinter.extend SingleForwardable # prepare object for delegation ;TI"Pprinter.def_delegator "STDOUT", "puts" # add delegation for STDOUT.puts() ;TI"printer.puts "Howdy!" ;T:@format0o; ;[I"TAlso, SingleForwardable can be used to set up delegation for a Class or Module.;T@o;;[I"class Implementation ;TI" def self.service ;TI" puts "serviced!" ;TI" end ;TI" end ;TI" ;TI"module Facade ;TI" extend SingleForwardable ;TI"/ def_delegator :Implementation, :service ;TI" end ;TI" ;TI""Facade.service #=> serviced! ;T;0o; ;[I"HIf you want to use both Forwardable and SingleForwardable, you can ;TI"Fuse methods def_instance_delegator and def_single_delegator, etc.;T: @fileI"lib/forwardable.rb;T:0@omit_headings_from_table_of_contents_below0; 0;0[ [ [ [[I" class;T[[:public[ [:protected[ [:private[ [I" instance;T[[;[[I"def_delegator;TI"lib/forwardable.rb;T[I"def_delegators;T@@[I"def_single_delegator;T@@[I"def_single_delegators;T@@[I" delegate;T@@[I"single_delegate;T@@[;[ [;[ [ [U:RDoc::Context::Section[i 0o;;[ ; 0;0[@+@+cRDoc::TopLevel