Puppet Function: any2array

Defined in:
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)


5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/puppet/parser/functions/any2array.rb', line 5

newfunction(:any2array, :type => :rvalue, :doc => <<-DOC
  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.
DOC
           ) do |arguments|

  if arguments.empty?
    return []
  end

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