puppet-neutron/lib/puppet/parser/functions/convert_to_json_string.rb

17 lines
372 B
Ruby

module Puppet::Parser::Functions
newfunction(:convert_to_json_string, :type => :rvalue) do |args|
require 'json'
value = args[0]
if (value.kind_of? Array) && value.all? {|x| x.include? ":"}
h = {}
value.each do |s|
k,v = s.split(/:/)
h[k] = v
end
return h.to_json
else
return value.to_json
end
end
end