class Puppet::Settings::Values
Attributes
name[R]
Public Class Methods
new(name, defaults)
click to toggle source
# File lib/puppet/settings.rb 1534 def initialize(name, defaults) 1535 @name = name 1536 @values = {} 1537 @defaults = defaults 1538 end
Public Instance Methods
inspect()
click to toggle source
# File lib/puppet/settings.rb 1566 def inspect 1567 %Q{<#{self.class}:#{self.object_id} @name="#{@name}" @values="#{@values}">} 1568 end
set(name, value)
click to toggle source
# File lib/puppet/settings.rb 1543 def set(name, value) 1544 default = @defaults[name] 1545 1546 if !default 1547 raise ArgumentError, _("Attempt to assign a value to unknown setting %{name}") % { name: name.inspect } 1548 end 1549 1550 # This little exception-handling dance ensures that a hook is 1551 # able to check whether a value for itself has been explicitly 1552 # set, while still preserving the existing value if the hook 1553 # throws (as was existing behavior) 1554 old_value = @values[name] 1555 @values[name] = value 1556 begin 1557 if default.has_hook? 1558 default.handle(value) 1559 end 1560 rescue Exception => e 1561 @values[name] = old_value 1562 raise e 1563 end 1564 end