Method: Puppet::Settings::TTLSetting.munge

Defined in:
lib/puppet/settings/ttl_setting.rb

.munge(value, param_name) ⇒ Object

Convert the value to Numeric, parsing numeric string with units if necessary.



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/puppet/settings/ttl_setting.rb', line 34

def self.munge(value, param_name)
  case
  when value.is_a?(Numeric)
    if value < 0
      raise Puppet::Settings::ValidationError, _("Invalid negative 'time to live' %{value} - did you mean 'unlimited'?") % { value: value.inspect }
    end
    value

  when value == 'unlimited'
    Float::INFINITY

  when (value.is_a?(String) and value =~ FORMAT)
    $1.to_i * UNITMAP[$2 || 's']
  else
    raise Puppet::Settings::ValidationError, _("Invalid 'time to live' format '%{value}' for parameter: %{param_name}") % { value: value.inspect, param_name: param_name }
  end
end