Class: Puppet::Settings::Values

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/puppet/settings.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, defaults) ⇒ Values

Returns a new instance of Values.



1344
1345
1346
1347
1348
# File 'lib/puppet/settings.rb', line 1344

def initialize(name, defaults)
  @name = name
  @values = {}
  @defaults = defaults
end

Instance Attribute Details

#nameObject (readonly)



1342
1343
1344
# File 'lib/puppet/settings.rb', line 1342

def name
  @name
end

Instance Method Details

#inspectObject



1368
1369
1370
# File 'lib/puppet/settings.rb', line 1368

def inspect
  %Q{<#{self.class}:#{self.object_id} @name="#{@name}" @values="#{@values}">}
end

#set(name, value) ⇒ Object



1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
# File 'lib/puppet/settings.rb', line 1353

def set(name, value)
  default = @defaults[name]

  if !default
    raise ArgumentError,
      "Attempt to assign a value to unknown setting #{name.inspect}"
  end

  if default.has_hook?
    default.handle(value)
  end

  @values[name] = value
end