Module: Sbuilder::StepGeneratorValue
- Included in:
- StepGeneratorValueRoot
- Defined in:
- lib/sbuilder/extension_loader_step_generator.rb
Overview
module implementing ‘@validIndex’ and ‘@validValues’ array to return values.
Class including this module must implement ‘validValuesSet’
Instance Attribute Summary collapse
Public services collapse
-
#currentValue(memo) ⇒ Boolean, Hash
Update ‘memo’ key ‘parameterName’ with current ‘validValue’.
-
#nextValue ⇒ Boolean
Advance ‘@validIndex’ to point to next valid entry in ‘@validValue’ -set.
Implement set of valid values collapse
-
#validValue(indx) ⇒ String
Element in position ‘indx’ of ‘validValues’.
-
#validValueCount ⇒ Integer
validation.
-
#validValues ⇒ String:Array|Hash:Array
Return (cached ) set of valid values.
Instance Attribute Details
#validIndex ⇒ Object
112 113 114 |
# File 'lib/sbuilder/extension_loader_step_generator.rb', line 112 def validIndex @validIndex end |
Instance Method Details
#currentValue(memo) ⇒ Boolean, Hash
Update ‘memo’ key ‘parameterName’ with current ‘validValue’
122 123 124 125 126 |
# File 'lib/sbuilder/extension_loader_step_generator.rb', line 122 def currentValue( memo ) currentValue = validValue( validIndex ) memo[parameterName] = currentValue return !currentValue.nil?, memo end |
#nextValue ⇒ Boolean
Advance ‘@validIndex’ to point to next valid entry in ‘@validValue’ -set.
132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 |
# File 'lib/sbuilder/extension_loader_step_generator.rb', line 132 def nextValue self.validIndex= validIndex + 1 # loop until next valid value found (or wrapped around) if validIndex >= validValueCount # Wrapped around self.validIndex= 0 return false end # not wrapped around return true end |
#validValue(indx) ⇒ String
Returns element in position ‘indx’ of ‘validValues’.
154 155 156 |
# File 'lib/sbuilder/extension_loader_step_generator.rb', line 154 def validValue( indx ) validValues[indx] end |
#validValueCount ⇒ Integer
validation
161 162 163 |
# File 'lib/sbuilder/extension_loader_step_generator.rb', line 161 def validValueCount validValues.length end |
#validValues ⇒ String:Array|Hash:Array
Return (cached ) set of valid values. For non isArray generator return ‘validValuesSet’, else (i.e. isArray = true ) return powerset( validValuesSet )
171 172 173 174 175 176 177 178 179 180 |
# File 'lib/sbuilder/extension_loader_step_generator.rb', line 171 def validValues return @validValues if @validValues Sbuilder::StepGenerator.logger.info "#{__method__}, parameter=#{parameter.name}, isArray=#{isArray}, validValuesSet.length=#{validValuesSet.length}" Sbuilder::StepGenerator.maxPowerSet( validValuesSet.length ) if isArray @validValues = isArray ? Sbuilder::Powerset.powerset( validValuesSet ) : validValuesSet return @validValues end |