class StackMaster::SparkleFormation::CompileTime::ParametersValidator

Public Class Methods

new(definitions, parameters) click to toggle source
# File lib/stack_master/sparkle_formation/compile_time/parameters_validator.rb, line 8
def initialize(definitions, parameters)
  @definitions = definitions
  @parameters = parameters
end

Public Instance Methods

validate() click to toggle source
# File lib/stack_master/sparkle_formation/compile_time/parameters_validator.rb, line 13
def validate
  @definitions.each do |name, definition|
    parameter = @parameters[name.to_s.camelize]
    factory = ValueValidatorFactory.new(name, definition, parameter)
    value_validators = factory.build
    value_validators.each do |validator|
      validator.validate
      raise ArgumentError.new "Invalid compile time parameter: #{validator.error}" unless validator.is_valid
    end
  end
end