Class: Sbuilder::StepGeneratorValueRef

Inherits:
StepGeneratorValueRoot show all
Defined in:
lib/sbuilder/extension_loader_step_generator.rb

Overview


Class pointing to Parameter_Dom, and generating values

Instance Attribute Summary collapse

Attributes inherited from StepGeneratorValueRoot

#parameter, #parameter_path

Attributes included from StepGeneratorValue

#validIndex

Construct & configure collapse

Implement set of valid values for StepGeneratorValue collapse

Methods inherited from StepGeneratorValueRoot

#isArray, #parameterName, #parameter_path_to_me

Methods included from StepGeneratorValue

#currentValue, #nextValue, #validValue, #validValueCount, #validValues

Constructor Details

#initialize(parameter, validators, parameter_path) ⇒ StepGeneratorValueRef

Returns a new instance of StepGeneratorValueRef.



687
688
689
690
691
692
693
# File 'lib/sbuilder/extension_loader_step_generator.rb', line 687

def initialize( parameter, validators, parameter_path )
  super( parameter, parameter_path )

  Sbuilder::StepGenerator.logger.info "#{__method__}, StepGeneratorValueRef parameter_path=#{parameter_path}"            
  # create refGenerator
  initReference( parameter, validators )
end

Instance Attribute Details

#refGeneratorObject

‘super.@parameter’



681
682
683
# File 'lib/sbuilder/extension_loader_step_generator.rb', line 681

def refGenerator
  @refGenerator
end

Instance Method Details

#validValuesSetHash:Array

Generate array of values using refGenerator.

Returns:

  • (Hash:Array)

    valid values



717
718
719
720
721
722
723
724
725
726
727
# File 'lib/sbuilder/extension_loader_step_generator.rb', line 717

def validValuesSet

  Sbuilder::StepGenerator.logger.info "#{__method__}, parameter=#{parameter.name}, isArray=#{isArray}, validValuesSetCardinality=#{validValuesSetCardinality}"            
  
  # ensure that valid values set would not grow too large
  # prior generatring valid the actual set
  Sbuilder::StepGenerator.maxSet( validValuesSetCardinality, parameter )
  
  refGenerator.values

end

#validValuesSetCardinalityInteger

Delegates the task of counting number of elements in the set to ‘@refGenerator’

Returns:

  • (Integer)

    calculatedCardinality validValues



733
734
735
# File 'lib/sbuilder/extension_loader_step_generator.rb', line 733

def validValuesSetCardinality
  refGenerator.validValuesSetCardinality
end