class StackMaster::SparkleFormation::CompileTime::ValueBuilder

Public Class Methods

new(definition, parameter) click to toggle source
# File lib/stack_master/sparkle_formation/compile_time/value_builder.rb, line 6
def initialize(definition, parameter)
  @definition = definition
  @parameter = parameter
end

Public Instance Methods

build() click to toggle source
# File lib/stack_master/sparkle_formation/compile_time/value_builder.rb, line 11
def build
  parameter_or_default
  convert_strings_to_array
  convert_strings_to_numbers
  @value
end

Private Instance Methods

convert_strings_to_array() click to toggle source
# File lib/stack_master/sparkle_formation/compile_time/value_builder.rb, line 24
def convert_strings_to_array
  if @definition[:multiple] && @value.is_a?(String)
    @value = @value.split(',').map(&:strip)
  end
end
convert_strings_to_numbers() click to toggle source
# File lib/stack_master/sparkle_formation/compile_time/value_builder.rb, line 30
def convert_strings_to_numbers
  if @definition[:type] == :number
    @value = @value.to_f if @value.is_a?(String)
    @value = @value.map { |item| item.is_a?(String) ? item.to_f : item } if @value.is_a?(Array)
  end
end
parameter_or_default() click to toggle source
# File lib/stack_master/sparkle_formation/compile_time/value_builder.rb, line 20
def parameter_or_default
  @value = @parameter.nil? ? @definition[:default] : @parameter
end