Repository URL to install this package:
|
Version:
2.2.2-1 ▾
|
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 if the use of ;TI"Delegator:;T@o:RDoc::Markup::Verbatim;[I"'class SimpleDelegator < Delegator ;TI" def initialize(obj) ;TI"N super # pass obj to Delegator constructor, required ;TI"; @delegate_sd_obj = obj # store obj for future use ;TI" end ;TI" ;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[ [ [ [[I" class;T[[:public[[I"new;TI"lib/delegate.rb;T[:protected[ [:private[ [I" instance;T[[;[[I"!;T@E[I"!=;T@E[I"==;T@E[I"__getobj__;F@E[I"__raise__;F@E[I"__setobj__;F@E[I"freeze;T@E[I"marshal_dump;F@E[I"marshal_load;F@E[I"method_missing;F@E[I"methods;F@E[I"protected_methods;F@E[I"public_methods;F@E[I" raise;T@E[I"respond_to_missing?;F@E[I" taint;T@E[I" trust;T@E[I"untaint;T@E[I"untrust;T@E[;[ [;[ [ [U:RDoc::Context::Section[i 0o;;[ ;0;0[@9@9cRDoc::TopLevel