Module: Tap::Support::Dependency
- Defined in:
- lib/tap/support/dependency.rb
Overview
Constrains an Executable to only _execute once, and provides several methods making the Executable behave like a Dependency.
Instance Attribute Summary collapse
-
#_result ⇒ Object
The audited result of self.
Class Method Summary collapse
-
.extended(base) ⇒ Object
:nodoc:.
Instance Method Summary collapse
-
#_execute(*args) ⇒ Object
Conditional _execute; only calls _method_name if resolved? is false (thus assuring self will only be executed once).
-
#reset ⇒ Object
Resets the dependency by setting _result to nil.
-
#resolve ⇒ Object
Alias for _execute().
-
#resolved? ⇒ Boolean
True if _result is non-nil.
Instance Attribute Details
#_result ⇒ Object
The audited result of self
9 10 11 |
# File 'lib/tap/support/dependency.rb', line 9 def _result @_result end |
Class Method Details
Instance Method Details
#_execute(*args) ⇒ Object
Conditional _execute; only calls _method_name if resolved? is false (thus assuring self will only be executed once).
Returns _result.
20 21 22 23 24 25 |
# File 'lib/tap/support/dependency.rb', line 20 def _execute(*args) app.dependencies.resolve(self) do @_result = super end unless resolved? _result end |
#reset ⇒ Object
Resets the dependency by setting _result to nil.
38 39 40 |
# File 'lib/tap/support/dependency.rb', line 38 def reset @_result = nil end |
#resolve ⇒ Object
Alias for _execute().
28 29 30 |
# File 'lib/tap/support/dependency.rb', line 28 def resolve _execute end |
#resolved? ⇒ Boolean
True if _result is non-nil.
33 34 35 |
# File 'lib/tap/support/dependency.rb', line 33 def resolved? @_result != nil end |