Puppet Function: to_json_pretty

Defined in:
lib/puppet/functions/to_json_pretty.rb
Function type:
Ruby 4.x API

Overview

to_json_pretty(Variant[Hash, Array] $data, Optional[Boolean] $skip_undef)Any

}

Parameters:

  • data (Variant[Hash, Array])

    data structure which needs to be converted to pretty json

  • skip_undef (Optional[Boolean])

    value ‘true` or `false`

Returns:

  • (Any)

    converted data to pretty json



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/puppet/functions/to_json_pretty.rb', line 20

Puppet::Functions.create_function(:to_json_pretty) do
  # @param data
  #   data structure which needs to be converted to pretty json
  # @param skip_undef
  #   value `true` or `false`
  # @return
  #   converted data to pretty json
  dispatch :to_json_pretty do
    param 'Variant[Hash, Array]', :data
    optional_param 'Boolean', :skip_undef
  end

  def to_json_pretty(data, skip_undef = false)
    if skip_undef
      if data.is_a? Array
        data = data.reject { |value| value.nil? }
      elsif data.is_a? Hash
        data = data.reject { |_, value| value.nil? }
      end
    end
    JSON.pretty_generate(data) << "\n"
  end
end