Method: Puppet::Parser::Resource#merge

Defined in:
lib/vendor/puppet/parser/resource.rb

#merge(resource) ⇒ Object

Merge an override resource in. This will throw exceptions if any overrides aren’t allowed.



139
140
141
142
143
144
145
146
147
148
149
# File 'lib/vendor/puppet/parser/resource.rb', line 139

def merge(resource)
  # Test the resource scope, to make sure the resource is even allowed
  # to override.
  unless self.source.object_id == resource.source.object_id || resource.source.child_of?(self.source)
    raise Puppet::ParseError.new("Only subclasses can override parameters", resource.line, resource.file)
  end
  # Some of these might fail, but they'll fail in the way we want.
  resource.parameters.each do |name, param|
    override_parameter(param)
  end
end