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
/
Delegator
/
//opt/alt/ruby27/share/ri/system/Delegator/cdesc-Delegator.ri
U:RDoc::NormalClass[iI"Delegator:ET@I"BasicObject;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[ I"OThis library provides three different ways to delegate method calls to an ;TI"Lobject. The easiest to use is SimpleDelegator. Pass an object to the ;TI"Rconstructor and all methods supported by the object will be delegated. This ;TI"!object can be changed later.;To:RDoc::Markup::BlankLine o; ;[I"SGoing a step further, the top level DelegateClass method allows you to easily ;TI"Lsetup delegation through class inheritance. This is considerably more ;TI"Eflexible and thus probably the most common use for this library.;T@o; ;[ I"SFinally, if you need full control over the delegation scheme, you can inherit ;TI"Nfrom the abstract class Delegator and customize as needed. (If you find ;TI"Pyourself needing this control, have a look at Forwardable which is also in ;TI";the standard library. It may suit your needs better.);T@o; ;[I"MSimpleDelegator's implementation serves as a nice example of the use of ;TI"Delegator:;T@o:RDoc::Markup::Verbatim;[I"'class SimpleDelegator < Delegator ;TI" def __getobj__ ;TI"I @delegate_sd_obj # return object we are delegating to, required ;TI" end ;TI" ;TI" def __setobj__(obj) ;TI"< @delegate_sd_obj = obj # change delegation object, ;TI"< # a feature we're providing ;TI" end ;TI" end ;T:@format0S:RDoc::Markup::Heading: leveli: textI" Notes;T@o; ;[I"8Be advised, RDoc will not detect delegated methods.;T: @fileI"lib/delegate.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[ [U:RDoc::Constant[i I"KERNEL_RESPOND_TO;TI"!Delegator::KERNEL_RESPOND_TO;T:private0o;;[ ;@4;0@4@cRDoc::NormalClass0[ [[I" class;T[[:public[ [:protected[ [;[[I"new;TI"lib/delegate.rb;T[I" instance;T[[;[ [;[ [;[[I"!;T@K[I"!=;T@K[I"==;T@K[I"__getobj__;T@K[I"__raise__;T@K[I"__setobj__;T@K[I" eql?;T@K[I"freeze;T@K[I"marshal_dump;T@K[I"marshal_load;T@K[I"method_missing;T@K[I"methods;T@K[I"protected_methods;T@K[I"public_methods;T@K[I" raise;T@K[I"respond_to_missing?;T@K[I"target_respond_to?;T@K[ [U:RDoc::Context::Section[i 0o;;[ ;0;0[I"lib/delegate.rb;T@4cRDoc::TopLevel