aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/utils/json.rb
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/utils/json.rb')
-rw-r--r--Library/Homebrew/utils/json.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/Library/Homebrew/utils/json.rb b/Library/Homebrew/utils/json.rb
new file mode 100644
index 000000000..f52881c84
--- /dev/null
+++ b/Library/Homebrew/utils/json.rb
@@ -0,0 +1,21 @@
+require 'vendor/multi_json'
+
+module Utils
+ module JSON
+ extend self
+
+ Error = Class.new(StandardError)
+
+ def load(str)
+ MultiJson.load(str)
+ rescue MultiJson::DecodeError => e
+ raise Error, e.message
+ end
+
+ def dump(obj)
+ MultiJson.dump(obj)
+ rescue MultiJson::EncodeError => e
+ raise Error, e.message
+ end
+ end
+end