summaryrefslogtreecommitdiff
path: root/puppet/lib/puppet/parser/functions/sorted_json.rb
diff options
context:
space:
mode:
Diffstat (limited to 'puppet/lib/puppet/parser/functions/sorted_json.rb')
-rw-r--r--puppet/lib/puppet/parser/functions/sorted_json.rb47
1 files changed, 0 insertions, 47 deletions
diff --git a/puppet/lib/puppet/parser/functions/sorted_json.rb b/puppet/lib/puppet/parser/functions/sorted_json.rb
deleted file mode 100644
index 605da00e..00000000
--- a/puppet/lib/puppet/parser/functions/sorted_json.rb
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# Written by Gavin Mogan, from https://gist.github.com/halkeye/2287885
-# Put in the public domain by the author.
-#
-
-require 'json'
-
-def sorted_json(obj)
- case obj
- when String, Fixnum, Float, TrueClass, FalseClass, NilClass
- return obj.to_json
- when Array
- arrayRet = []
- obj.each do |a|
- arrayRet.push(sorted_json(a))
- end
- return "[" << arrayRet.join(',') << "]";
- when Hash
- ret = []
- obj.keys.sort.each do |k|
- ret.push(k.to_json << ":" << sorted_json(obj[k]))
- end
- return "{" << ret.join(",") << "}";
- else
- raise Exception("Unable to handle object of type <%s>" % obj.class.to_s)
- end
-end
-
-module Puppet::Parser::Functions
- newfunction(:sorted_json, :type => :rvalue, :doc => <<-EOS
-This function takes data, outputs making sure the hash keys are sorted
-
-*Examples:*
-
- sorted_json({'key'=>'value'})
-
-Would return: {'key':'value'}
- EOS
- ) do |arguments|
- raise(Puppet::ParseError, "sorted_json(): Wrong number of arguments " +
- "given (#{arguments.size} for 1)") if arguments.size != 1
-
- json = arguments[0]
- return sorted_json(json)
- end
-end
-