class Bricolage::Parameters::DirectValueHandler

Handles *.job file values. Declarations + values -> IntermediateValues

Public Class Methods

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

Public Instance Methods

parse(values) click to toggle source
values

{String => a}

# File lib/bricolage/parameters.rb, line 88
def parse(values)
  parsed_values = {}
  vars = Variables.new
  values.each do |name, value|
    if decl = @decls[name]
      val = decl.parse_value(value)
      # nil is equal to "no option given" semantically
      parsed_values[name] = val unless val.nil?
    else
      vars.add Variable.new(name, value)
    end
  end
  IntermediateValues.new(@decls, parsed_values, vars)
end