Class: Aws::Templates::Utils::Parametrized::Constraint::DependsOnValue
- Inherits:
-
Aws::Templates::Utils::Parametrized::Constraint
- Object
- Aws::Templates::Utils::Parametrized::Constraint
- Aws::Templates::Utils::Parametrized::Constraint::DependsOnValue
- Defined in:
- lib/aws/templates/utils/parametrized/constraint/depends_on_value.rb
Overview
Switch-like variant check
Recursive check implementing switch-based semantics for defining checks need to be performed depending on parameter’s value.
Example
class Piece
include Aws::Templates::Utils::Parametrized
parameter :param2
parameter :param1,
:constraint => depends_on_value(
1 => lambda { |v| raise 'Too big' if param2 > 3 },
2 => lambda { |v| raise 'Too small' if param2 < 2 }
)
end
i = Piece.new(:param1 => 1, :param2 => 1)
i.param1 # => 1
i = Piece.new(:param1 => 1, :param2 => 5)
i.param1 # raise ParameterValueInvalid
i = Piece.new(:param1 => 2, :param2 => 1)
i.param1 # raise ParameterValueInvalid
i = Piece.new(:param1 => 2, :param2 => 5)
i.param1 # => 2
Instance Attribute Summary collapse
-
#selector ⇒ Object
readonly
Selector hash.
Instance Method Summary collapse
-
#initialize(selector) ⇒ DependsOnValue
constructor
A new instance of DependsOnValue.
Methods inherited from Aws::Templates::Utils::Parametrized::Constraint
#check_wrapper, #if, #pre_condition, #to_proc
Constructor Details
#initialize(selector) ⇒ DependsOnValue
Returns a new instance of DependsOnValue.
39 40 41 42 |
# File 'lib/aws/templates/utils/parametrized/constraint/depends_on_value.rb', line 39 def initialize(selector) @selector = selector self.if(Parametrized.any) end |
Instance Attribute Details
#selector ⇒ Object (readonly)
Selector hash
37 38 39 |
# File 'lib/aws/templates/utils/parametrized/constraint/depends_on_value.rb', line 37 def selector @selector end |