Puppet Function: stdlib::to_python
- Defined in:
-
lib/puppet/functions/stdlib/to_python.rb
- Function type:
- Ruby 4.x API
Summary
Convert an object into a String containing its Python representation
Overview
stdlib::to_python(Any $object) ⇒ String
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 'lib/puppet/functions/stdlib/to_python.rb', line 17
Puppet::Functions.create_function(:'stdlib::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
|