Puppet Function: hash2array
- Defined in:
- lib/puppet/parser/functions/hash2array.rb
- Function type:
- Ruby 3.x API
Overview
This converts a hash to an array containing that hash. Empty argument lists are converted to an empty array. Arrays are left untouched. Hashes are converted to arrays of alternating keys and values. Strings throw an error.
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/puppet/parser/functions/hash2array.rb', line 6 newfunction(:hash2array, :type => :rvalue, :doc => <<-EOS This converts a hash to an array containing that hash. Empty argument lists are converted to an empty array. Arrays are left untouched. Hashes are converted to arrays of alternating keys and values. Strings throw an error. 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]] return result else raise(Puppet::Error, "hash2array(): `" + arguments[0].to_s + "` is neither a hash nor an array") end end return arguments end |