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.
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/puppet/parser/functions/hash2array.rb', line 8 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| return [] if arguments.empty? if arguments.length == 1 return arguments[0] if arguments[0].is_a?(Array) return [arguments[0]] if arguments[0].is_a?(Hash) raise(Puppet::Error, "hash2array(): `#{arguments[0]}` is neither a hash nor an array") end return arguments end |