module Aws::Templates::Utils::Dependency::Refinements
Refinements
for transparent dependecy handling
Dependency
mechanism requres transparent language support to work correctly with arbitrary objects and object collections. This refinement introduces methods used for dependency processing.
Constants
- EMPTY_SET
Public Instance Methods
as_a_dependency()
click to toggle source
mark the object as dependency
# File lib/aws/templates/utils/dependency/refinements.rb, line 46 def as_a_dependency Aws::Templates::Utils::Dependency.new(object) end
as_a_self_dependency()
click to toggle source
mark the object as dependency of itself
# File lib/aws/templates/utils/dependency/refinements.rb, line 51 def as_a_self_dependency as_a_dependency.to_self end
dependencies()
click to toggle source
it returns a set containing a single dependency on itself
# File lib/aws/templates/utils/dependency/refinements.rb, line 41 def dependencies EMPTY_SET end
dependency?()
click to toggle source
By default an object is not a dependency
# File lib/aws/templates/utils/dependency/refinements.rb, line 23 def dependency? false end
object()
click to toggle source
It returns self
# File lib/aws/templates/utils/dependency/refinements.rb, line 28 def object self end
root()
click to toggle source
Object root
It is used to gracefully process dependencies
# File lib/aws/templates/utils/dependency/refinements.rb, line 36 def root; end
unknown()
click to toggle source
Dependency
method stubs
To avoid checking classes directly to filter out dependencies and non-dependencies, we're monkey-patching Object class with stubs for Dependency
class.
# File lib/aws/templates/utils/dependency/refinements.rb, line 21 refine ::Object do # By default an object is not a dependency def dependency? false end # It returns self def object self end ## # Object root # # It is used to gracefully process dependencies def root; end alias_method :not_a_dependency, :object # it returns a set containing a single dependency on itself def dependencies EMPTY_SET end # mark the object as dependency def as_a_dependency Aws::Templates::Utils::Dependency.new(object) end # mark the object as dependency of itself def as_a_self_dependency as_a_dependency.to_self end end