Class: Aws::Templates::Utils::Parametrized::Constraint::Condition

Inherits:
Object
  • Object
show all
Defined in:
lib/aws/templates/utils/parametrized/constraint/condition.rb

Overview

Condition

Condition is a strategy which decides if some particular constraint should be enforced or not.

Direct Known Subclasses

Conditional, Equal, NotNil, Unconditional

Defined Under Namespace

Classes: Conditional, Equal, NotNil, Unconditional

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.anyObject

Factory method for Unconditional singleton



64
65
66
# File 'lib/aws/templates/utils/parametrized/constraint/condition.rb', line 64

def self.any
  @unconditional ||= Unconditional.new
end

.for(condition) ⇒ Object

Factory method transforming arbitrary object into Condition object depending on object’s concept.



77
78
79
80
81
82
83
84
85
86
87
# File 'lib/aws/templates/utils/parametrized/constraint/condition.rb', line 77

def self.for(condition)
  if condition.is_a?(self)
    condition
  elsif condition.respond_to?(:to_sym)
    Equal.new(condition)
  elsif condition.respond_to?(:to_proc)
    Conditional.new(condition)
  else
    Equal.new(condition)
  end
end

.not_nilObject

Factory method for NotNil singleton



70
71
72
# File 'lib/aws/templates/utils/parametrized/constraint/condition.rb', line 70

def self.not_nil
  @not_nil ||= NotNil.new
end

Instance Method Details

#check(_value, _instance) ⇒ Object



58
59
60
# File 'lib/aws/templates/utils/parametrized/constraint/condition.rb', line 58

def check(_value, _instance)
  raise 'Must be overriden'
end