Puppet Function: bool2httpd

Defined in:
lib/puppet/parser/functions/bool2httpd.rb
Function type:
Ruby 3.x API

Overview

bool2httpd()Any

Transform a supposed boolean to On or Off. Pass all other values through. Given a nil value (undef), bool2httpd will return ‘Off’

Example:

$trace_enable     = false
$server_signature = 'mail'

bool2httpd($trace_enable)
# => 'Off'
bool2httpd($server_signature)
# => 'mail'
bool2httpd(undef)
# => 'Off'

Returns:

  • (Any)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/puppet/parser/functions/bool2httpd.rb', line 1

Puppet::Parser::Functions::newfunction(:bool2httpd, :type => :rvalue, :doc => <<-EOS
Transform a supposed boolean to On or Off. Pass all other values through.
Given a nil value (undef), bool2httpd will return 'Off'

Example:

    $trace_enable     = false
    $server_signature = 'mail'

    bool2httpd($trace_enable)
    # => 'Off'
    bool2httpd($server_signature)
    # => 'mail'
    bool2httpd(undef)
    # => 'Off'

EOS
) do |args|
  raise(Puppet::ParseError, "bool2httpd() wrong number of arguments. Given: #{args.size} for 1)") if args.size != 1

  arg = args[0]

  if arg.nil? or arg == false or arg =~ /false/i or arg == :undef
    return 'Off'
  elsif arg == true or arg =~ /true/i
    return 'On'
  end

  return arg.to_s
end