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
-
#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 |