File: C:/Ruby27-x64/share/ri/2.7.0/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[[I"new;TI""../ruby-2.7.7/lib/delegate.rb;T[:protected[ [;[ [I"
instance;T[[;[[I"!;T@G[I"!=;T@G[I"==;T@G[I"__getobj__;T@G[I"__raise__;T@G[I"__setobj__;T@G[I" eql?;T@G[I"freeze;T@G[I"marshal_dump;T@G[I"marshal_load;T@G[I"method_missing;T@G[I"methods;T@G[I"protected_methods;T@G[I"public_methods;T@G[I"
raise;T@G[I"respond_to_missing?;T@G[;[ [;[[I"target_respond_to?;T@G[ [U:RDoc::Context::Section[i 0o;;[ ;0;0[I"lib/delegate.rb;T@4cRDoc::TopLevel