Class: LazyObject Private
Overview
This class is part of a private API. This class may only be used in the Homebrew/brew repository. Third parties should avoid using this class if possible, as it may be removed or changed without warning.
An object which lazily evaluates its inner block only once a method is called on it.
Instance Method Summary collapse
- #__getobj__ ⇒ Object private
 - #__setobj__(callable) ⇒ Object private
 - #class ⇒ Object private
 - 
  
    
      #initialize(&callable)  ⇒ LazyObject 
    
    
  
  
  
    constructor
  
  
  
  
  
  private
  
    
A new instance of LazyObject.
 
Constructor Details
#initialize(&callable) ⇒ LazyObject
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
Returns a new instance of LazyObject.
      8 9 10  | 
    
      # File 'lazy_object.rb', line 8 def initialize(&callable) super(callable) end  | 
  
Instance Method Details
#__getobj__ ⇒ Object
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
      12 13 14 15 16  | 
    
      # File 'lazy_object.rb', line 12 def __getobj__(&) return @__getobj__ if defined?(@__getobj__) @__getobj__ = @__callable__.call end  | 
  
#__setobj__(callable) ⇒ Object
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
      18 19 20  | 
    
      # File 'lazy_object.rb', line 18 def __setobj__(callable) @__callable__ = callable end  | 
  
#class ⇒ Object
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
      32  | 
    
      # File 'lazy_object.rb', line 32 def class = __getobj__.class  |