in libraries/plist.rb [30:50]
def convert_to_string_from_data_type(value)
case value
when Array
"-array #{value.map { |x| convert_to_string_from_data_type(x) }.join(' ')}"
when Integer
"-integer #{value}"
when FalseClass
"-bool #{value}"
when TrueClass
"-bool #{value}"
when Hash
"-dict #{value.map { |key,value| Shellwords.shellescape(key) + ' ' + convert_to_string_from_data_type(value)}.join(' ')}"
when String
"-string #{Shellwords.shellescape(value)}"
when Float
"-float #{value}"
else
raise "Unknown or unsupported data type: #{value} of #{value.class}"
end
end