Puppet Function: to_python
- Defined in:
-
vendor_modules/stdlib/lib/puppet/functions/to_python.rb
- Function type:
- Ruby 4.x API
Summary
Convert an object into a String containing its Python representation
Overview
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# File 'vendor_modules/stdlib/lib/puppet/functions/to_python.rb', line 17
Puppet::Functions.create_function(:to_python) do
dispatch :to_python do
param 'Any', :object
end
def to_python(object)
serialized = Puppet::Pops::Serialization::ToDataConverter.convert(object, rich_data: true)
serialized_to_python(serialized)
end
def serialized_to_python(serialized)
case serialized
when true then 'True'
when false then 'False'
when nil then 'None'
when Array then "[#{serialized.map { |x| serialized_to_python(x) }.join(', ')}]"
when Hash then "{#{serialized.map { |k, v| "#{serialized_to_python(k)}: #{serialized_to_python(v)}" }.join(', ')}}"
else serialized.inspect
end
end
end
|