D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
alt
/
ruby34
/
share
/
gems
/
gems
/
rbs-3.8.0
/
stdlib
/
delegate
/
0
/
Filename :
delegator.rbs
back
Copy
# <!-- rdoc-file=lib/delegate.rb --> # This library provides three different ways to delegate method calls to an # object. The easiest to use is SimpleDelegator. Pass an object to the # constructor and all methods supported by the object will be delegated. This # object can be changed later. # # Going a step further, the top level DelegateClass method allows you to easily # setup delegation through class inheritance. This is considerably more # flexible and thus probably the most common use for this library. # # Finally, if you need full control over the delegation scheme, you can inherit # from the abstract class Delegator and customize as needed. (If you find # yourself needing this control, have a look at Forwardable which is also in the # standard library. It may suit your needs better.) # # SimpleDelegator's implementation serves as a nice example of the use of # Delegator: # # require 'delegate' # # class SimpleDelegator < Delegator # def __getobj__ # @delegate_sd_obj # return object we are delegating to, required # end # # def __setobj__(obj) # @delegate_sd_obj = obj # change delegation object, # # a feature we're providing # end # end # # ## Notes # # Be advised, RDoc will not detect delegated methods. # class Delegator < BasicObject def self.const_missing: (Symbol n) -> untyped def self.delegating_block: (Symbol mid) -> Proc def self.public_api: () -> untyped # <!-- # rdoc-file=lib/delegate.rb # - !() # --> # Delegates ! to the _*getobj*_ # def !: () -> untyped # <!-- # rdoc-file=lib/delegate.rb # - !=(obj) # --> # Returns true if two objects are not considered of equal value. # def !=: (untyped obj) -> bool # <!-- # rdoc-file=lib/delegate.rb # - ==(obj) # --> # Returns true if two objects are considered of equal value. # def ==: (untyped obj) -> bool # <!-- # rdoc-file=lib/delegate.rb # - __getobj__() # --> # This method must be overridden by subclasses and should return the object # method calls are being delegated to. # def __getobj__: () -> untyped # <!-- # rdoc-file=lib/delegate.rb # - __setobj__(obj) # --> # This method must be overridden by subclasses and change the object delegate to # *obj*. # def __setobj__: (untyped obj) -> untyped # <!-- # rdoc-file=lib/delegate.rb # - eql?(obj) # --> # Returns true if two objects are considered of equal value. # def eql?: (untyped obj) -> bool # <!-- # rdoc-file=lib/delegate.rb # - freeze() # --> # :method: freeze Freeze both the object returned by _*getobj*_ and self. # def freeze: () -> self # <!-- # rdoc-file=lib/delegate.rb # - marshal_dump() # --> # Serialization support for the object returned by _*getobj*_. # def marshal_dump: () -> untyped # <!-- # rdoc-file=lib/delegate.rb # - marshal_load(data) # --> # Reinitializes delegation from a serialized object. # def marshal_load: (untyped data) -> void # <!-- # rdoc-file=lib/delegate.rb # - method_missing(m, *args, &block) # --> # def method_missing: (Symbol m, *untyped args, **untyped) { (*untyped, **untyped) -> untyped } -> untyped # <!-- # rdoc-file=lib/delegate.rb # - methods(all=true) # --> # Returns the methods available to this delegate object as the union of this # object's and _*getobj*_ methods. # def methods: (?boolish all) -> Array[Symbol] # <!-- # rdoc-file=lib/delegate.rb # - protected_methods(all=true) # --> # Returns the methods available to this delegate object as the union of this # object's and _*getobj*_ protected methods. # def protected_methods: (?boolish all) -> Array[Symbol] # <!-- # rdoc-file=lib/delegate.rb # - public_methods(all=true) # --> # Returns the methods available to this delegate object as the union of this # object's and _*getobj*_ public methods. # def public_methods: (?untyped all) -> Array[Symbol] private # <!-- # rdoc-file=lib/delegate.rb # - new(obj) # --> # Pass in the *obj* to delegate method calls to. All methods supported by *obj* # will be delegated to. # def initialize: (untyped obj) -> void def initialize_clone: (self obj, ?freeze: bool?) -> self def initialize_dup: (self obj) -> self # <!-- # rdoc-file=lib/delegate.rb # - respond_to_missing?(m, include_private) # --> # Checks for a method provided by this the delegate object by forwarding the # call through _*getobj*_. # def respond_to_missing?: (Symbol m, bool include_private) -> bool # <!-- # rdoc-file=lib/delegate.rb # - target_respond_to?(target, m, include_private) # --> # Handle BasicObject instances # def target_respond_to?: (untyped target, Symbol m, bool include_private) -> bool VERSION: String end