Linux heracles.o2switch.net 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
/
opt
/
alt
/
ruby27
/
share
/
ri
/
system
/
SingleForwardable
/
//opt/alt/ruby27/share/ri/system/SingleForwardable/cdesc-SingleForwardable.ri
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@D[I"def_single_delegator;T@D[I"def_single_delegators;T@D[I" delegate;T@D[I"single_delegate;T@D[ [U:RDoc::Context::Section[i 0o;;[ ; 0;0[I"lib/forwardable.rb;T@+cRDoc::TopLevel