module Aws::Templates::Utils::Parametrized
'parameter' DSL to specify artifact parameters checks
The module provides the basic class-level methods to define so-called parameters. A parameter is a reader-like method of value extraction, constraints checking and transformation. Essentially, it's domain-specific extended implementation of attr_reader.
Public Instance Methods
dependencies()
click to toggle source
Lazy
initializer
# File lib/aws/templates/utils/parametrized.rb, line 182 def dependencies if @dependencies.nil? @dependencies = ::Set.new depends_on(parameter_names.map { |name| send(name) }) end @dependencies end
guarded_get(instance, parameter_object)
click to toggle source
# File lib/aws/templates/utils/parametrized.rb, line 176 def guarded_get(instance, parameter_object) guarded_for(instance, parameter_object) { parameter_object.get(self) } end
parameter_names()
click to toggle source
Parameter
names list
Instance-level alias for list_all_parameter_names
# File lib/aws/templates/utils/parametrized.rb, line 195 def parameter_names self.class.list_all_parameter_names end
parameters_map()
click to toggle source
Evaluate all parameters
Return parameters as a hash
# File lib/aws/templates/utils/parametrized.rb, line 211 def parameters_map parameter_names.each_with_object({}) { |name, obj| obj[name] = send(name) } end
to_recursive()
click to toggle source
Transforms parametrized into an instance of recursive concept
# File lib/aws/templates/utils/parametrized.rb, line 217 def to_recursive RecursiveAdapter.new(self) end
unknown()
click to toggle source
Class-level mixins
It's a DSL extension to declaratively define parameters.
# File lib/aws/templates/utils/parametrized.rb, line 228 class_scope do ## # List all defined parameter names # # The list includes both the class parameters and all ancestor # parameters. def list_all_parameter_names
validate()
click to toggle source
Validate all parameters
Performs calculation of all specified parameters to check options validity
# File lib/aws/templates/utils/parametrized.rb, line 203 def validate parameter_names.each { |name| send(name) } end