From 54d18cee17a7af49b5858dd752bf2eda59014472 Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Sun, 20 Nov 2016 12:43:13 -0500 Subject: compat: deprecate Utils::JSON in favor of corelib JSON. --- Library/Homebrew/compat.rb | 1 + Library/Homebrew/compat/json.rb | 37 +++++++++++++++++++++++++++++++++++++ Library/Homebrew/utils.rb | 1 - Library/Homebrew/utils/json.rb | 34 ---------------------------------- 4 files changed, 38 insertions(+), 35 deletions(-) create mode 100644 Library/Homebrew/compat/json.rb delete mode 100644 Library/Homebrew/utils/json.rb (limited to 'Library') diff --git a/Library/Homebrew/compat.rb b/Library/Homebrew/compat.rb index db0ece584..0b81e037a 100644 --- a/Library/Homebrew/compat.rb +++ b/Library/Homebrew/compat.rb @@ -18,3 +18,4 @@ require "compat/language/haskell" require "compat/xcode" require "compat/software_spec" require "compat/utils" +require "compat/json" diff --git a/Library/Homebrew/compat/json.rb b/Library/Homebrew/compat/json.rb new file mode 100644 index 000000000..c8bf1c292 --- /dev/null +++ b/Library/Homebrew/compat/json.rb @@ -0,0 +1,37 @@ +require "json" + +module Utils + module JSON + module_function + + Error = Class.new(StandardError) + + def load(str) + odeprecated "Utils::JSON.load", "JSON.parse" + ::JSON.parse(str) + rescue ::JSON::ParserError => e + raise Error, e.message + end + + def dump(obj) + odeprecated "Utils::JSON.dump", "JSON.generate" + ::JSON.generate(obj) + end + + def stringify_keys(obj) + odeprecated "Utils::JSON.stringify_keys" + case obj + when Array + obj.map { |val| stringify_keys(val) } + when Hash + obj.inject({}) do |result, (key, val)| + key = key.respond_to?(:to_s) ? key.to_s : key + val = stringify_keys(val) + result.merge!(key => val) + end + else + obj + end + end + end +end diff --git a/Library/Homebrew/utils.rb b/Library/Homebrew/utils.rb index 7a7673d01..89a90bed2 100644 --- a/Library/Homebrew/utils.rb +++ b/Library/Homebrew/utils.rb @@ -9,7 +9,6 @@ require "utils/git" require "utils/github" require "utils/hash" require "utils/inreplace" -require "utils/json" require "utils/popen" require "utils/tty" diff --git a/Library/Homebrew/utils/json.rb b/Library/Homebrew/utils/json.rb deleted file mode 100644 index 21c5b52b0..000000000 --- a/Library/Homebrew/utils/json.rb +++ /dev/null @@ -1,34 +0,0 @@ -require "json" - -module Utils - module JSON - module_function - - Error = Class.new(StandardError) - - def load(str) - ::JSON.load(str) - rescue ::JSON::ParserError => e - raise Error, e.message - end - - def dump(obj) - ::JSON.generate(obj) - end - - def stringify_keys(obj) - case obj - when Array - obj.map { |val| stringify_keys(val) } - when Hash - obj.inject({}) do |result, (key, val)| - key = key.respond_to?(:to_s) ? key.to_s : key - val = stringify_keys(val) - result.merge!(key => val) - end - else - obj - end - end - end -end -- cgit v1.2.3