Method: Puppet::Parser::Scope#define_settings

Defined in:
lib/puppet/parser/scope.rb

#define_settings(type, params) ⇒ Object

Set defaults for a type. The typename should already be downcased, so that the syntax is isolated. We don’t do any kind of type-checking here; instead we let the resource do it when the defaults are used.



705
706
707
708
709
710
711
712
713
714
715
716
717
718
# File 'lib/puppet/parser/scope.rb', line 705

def define_settings(type, params)
  table = @defaults[type]

  # if we got a single param, it'll be in its own array
  params = [params] unless params.is_a?(Array)

  params.each { |param|
    if table.include?(param.name)
      raise Puppet::ParseError.new(_("Default already defined for %{type} { %{param} }; cannot redefine") % { type: type, param: param.name }, param.file, param.line)
    end

    table[param.name] = param
  }
end