Puppet Function: any2array

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

Overview

any2array()Any

This converts any object to an array containing that object. Empty argument lists are converted to an empty array. Arrays are left untouched. Hashes are converted to arrays of alternating keys and values.

Returns:

  • (Any)


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 'puppet/modules/stdlib/lib/puppet/parser/functions/any2array.rb', line 6

newfunction(:any2array, :type => :rvalue, :doc => <<-EOS
This converts any object to an array containing that object. Empty argument
lists are converted to an empty array. Arrays are left untouched. Hashes are
converted to arrays of alternating keys and values.
  EOS
) do |arguments|

  if arguments.empty?
      return []
  end

  if arguments.length == 1
      if arguments[0].kind_of?(Array)
          return arguments[0]
      elsif arguments[0].kind_of?(Hash)
          result = []
          arguments[0].each do |key, value|
              result << key << value
          end
          return result
      end
  end

  return arguments
end