Class: Puppet::Settings::Values
- Extended by:
- Forwardable
- Defined in:
- lib/puppet/settings.rb
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Instance Method Summary collapse
-
#initialize(name, defaults) ⇒ Values
constructor
A new instance of Values.
- #inspect ⇒ Object
- #set(name, value) ⇒ Object
Constructor Details
#initialize(name, defaults) ⇒ Values
Returns a new instance of Values.
1534 1535 1536 1537 1538 |
# File 'lib/puppet/settings.rb', line 1534 def initialize(name, defaults) @name = name @values = {} @defaults = defaults end |
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
1532 1533 1534 |
# File 'lib/puppet/settings.rb', line 1532 def name @name end |
Instance Method Details
#inspect ⇒ Object
1566 1567 1568 |
# File 'lib/puppet/settings.rb', line 1566 def inspect %Q{<#{self.class}:#{self.object_id} @name="#{@name}" @values="#{@values}">} end |
#set(name, value) ⇒ Object
1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 |
# File 'lib/puppet/settings.rb', line 1543 def set(name, value) default = @defaults[name] if !default raise ArgumentError, _("Attempt to assign a value to unknown setting %{name}") % { name: name.inspect } end # This little exception-handling dance ensures that a hook is # able to check whether a value for itself has been explicitly # set, while still preserving the existing value if the hook # throws (as was existing behavior) old_value = @values[name] @values[name] = value begin if default.has_hook? default.handle(value) end rescue Exception => e @values[name] = old_value raise e end end |