#
# bool2str.rb
#
-
module Puppet::Parser::Functions
- newfunction(:bool2str, :type => :rvalue, :doc => <<-EOS
+ newfunction(:bool2str, :type => :rvalue, :doc => <<-DOC
Converts a boolean to a string using optionally supplied arguments. The
optional second and third arguments represent what true and false will be
converted to respectively. If only one argument is given, it will be
bool2str(false, 't', 'f') => 'f'
Requires a single boolean as an input.
- EOS
- ) do |arguments|
- unless arguments.size == 1 or arguments.size == 3
+ Note that since Puppet 5.0.0 it is possible to create new data types for almost any
+ datatype using the type system and the built-in
+ [`String.new`](https://puppet.com/docs/puppet/latest/function.html#boolean-to-string)
+ function is used to convert to String with many different format options.
+
+ notice(String(false)) # Notices 'false'
+ notice(String(true)) # Notices 'true'
+ notice(String(false, '%y')) # Notices 'yes'
+ notice(String(true, '%y')) # Notices 'no'
+
+ DOC
+ ) do |arguments|
+
+ unless arguments.size == 1 || arguments.size == 3
raise(Puppet::ParseError, "bool2str(): Wrong number of arguments given (#{arguments.size} for 3)")
end
raise(Puppet::ParseError, 'bool2str(): Requires a boolean to work with')
end
- unless [true_string, false_string].all?{|x| x.kind_of?(String)}
- raise(Puppet::ParseError, "bool2str(): Requires strings to convert to" )
+ unless [true_string, false_string].all? { |x| x.is_a?(String) }
+ raise(Puppet::ParseError, 'bool2str(): Requires strings to convert to')
end
return value ? true_string : false_string