class Bricolage::Parameters::DefaultValuesHandler

Handles default values given by variable.yml (global or subsystem variables) Declarations + values -> IntermediateValues

Public Class Methods

new(decls) click to toggle source
# File lib/bricolage/parameters.rb, line 60
def initialize(decls)
  @decls = decls
end

Public Instance Methods

parse(values) click to toggle source
# File lib/bricolage/parameters.rb, line 64
def parse(values)
  unless values.kind_of?(Hash)
    raise ParameterError, "invalid type for 'defaults' global variable: #{values.class}"
  end
  parsed_values = {}
  values.each do |name, value|
    decl = @decls[name]
    next unless decl   # ignore undeclared option
    val = decl.parse_value(value)
    # nil means really nil for default values.
    parsed_values[name] = val
  end
  IntermediateValues.new(@decls, parsed_values, Variables.new)
end