From c16fd1bff64fd426d36e07648a7f8550563ae6e1 Mon Sep 17 00:00:00 2001 From: Luke Kanies Date: Tue, 2 Jun 2009 17:11:03 -0500 Subject: Adding a JSON utility module for providing Ruby compat This provides the class-method behaviour that Ruby's JSON support expects but that we don't provide. Signed-off-by: Luke Kanies --- lib/puppet/util/json.rb | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 lib/puppet/util/json.rb (limited to 'lib/puppet') diff --git a/lib/puppet/util/json.rb b/lib/puppet/util/json.rb new file mode 100644 index 000000000..d6f1a2f75 --- /dev/null +++ b/lib/puppet/util/json.rb @@ -0,0 +1,13 @@ +# A simple module to provide consistency between how we use JSON and how +# ruby expects it to be used. Basically, we don't want to require +# that the sender specify a class. +# Ruby wants everyone to provide a 'json_class' field, and the JSON support +# requires such a field to track the class down. Because we use our URL to +# figure out what class we're working on, we don't need that, and we don't want +# our consumers and producers to need to know anything about our internals. +module Puppet::Util::Json + def json_create(json) + raise ArgumentError, "No data provided in json data" unless json['data'] + from_json(json['data']) + end +end -- cgit