replace multi_json dependency with regular stdlib JSON

JSON has been part of the ruby stdlib since 1.9.0 (see
https://github.com/ruby/ruby/commit/af1c4167), and the latest version of
google-api-client requires ruby 2.0 or better so we can assume it's available
This commit is contained in:
James Healy 2016-02-25 13:27:33 +11:00
parent b191e60cfc
commit 4b9a63c086
6 changed files with 8 additions and 11 deletions

View File

@ -6,7 +6,6 @@ require 'thor'
require 'open-uri'
require 'google/apis/discovery_v1'
require 'google/apis/generator'
require 'multi_json'
require 'logger'
module Google

View File

@ -18,7 +18,6 @@ Gem::Specification.new do |spec|
spec.require_paths = ['lib', 'generated', 'third_party']
spec.add_runtime_dependency 'representable', '~> 2.3.0'
spec.add_runtime_dependency 'multi_json', '~> 1.11'
spec.add_runtime_dependency 'retriable', '~> 2.0'
spec.add_runtime_dependency 'activesupport', '>= 3.2'
spec.add_runtime_dependency 'addressable', '~> 2.3'

View File

@ -12,8 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
require 'compat/multi_json'
require 'json'
module Google
@ -71,7 +70,7 @@ module Google
search_path = File.expand_path(File.join(search_path, '..'))
end
end
data = File.open(filename, 'r') { |file| MultiJson.load(file.read) }
data = File.open(filename, 'r') { |file| JSON.load(file.read) }
return self.new(data)
end
@ -119,7 +118,7 @@ module Google
# @return [String]
# JSON
def to_json
return MultiJson.dump(to_hash)
return Json.dump(to_hash)
end
def to_hash

View File

@ -17,7 +17,7 @@ require 'addressable/uri'
require 'addressable/template'
require 'google/apis/core/http_command'
require 'google/apis/errors'
require 'multi_json'
require 'json'
require 'retriable'
module Google
@ -113,7 +113,7 @@ module Google
# HTTP response body
# @return [Hash]
def parse_error(body)
hash = MultiJson.load(body)
hash = JSON.load(body)
hash['error']['errors'].first
rescue
nil

View File

@ -15,7 +15,7 @@
require 'logger'
require 'erb'
require 'yaml'
require 'multi_json'
require 'json'
require 'active_support/inflector'
require 'google/apis/core/logging'
require 'google/apis/generator/template'

View File

@ -23,7 +23,7 @@ FIXTURES_PATH = File.expand_path('../../../fixtures', __FILE__)
RSpec.describe Google::APIClient::ClientSecrets do
describe '::new' do
let(:filename) { File.join(FIXTURES_PATH, 'files', 'client_secrets.json') }
let(:data) { File.open(filename, 'r') { |file| MultiJson.load(file.read) } }
let(:data) { File.open(filename, 'r') { |file| JSON.load(file.read) } }
context 'without options' do
subject { Google::APIClient::ClientSecrets.new(data) }
@ -367,7 +367,7 @@ RSpec.describe Google::APIClient::ClientSecrets do
context 'with invalid JSON file' do
it 'should raise exception' do
file = File.join(FIXTURES_PATH, 'files', 'invalid.json')
expect { Google::APIClient::ClientSecrets.load(file) }.to raise_exception(MultiJson::ParseError)
expect { Google::APIClient::ClientSecrets.load(file) }.to raise_exception(JSON::ParserError)
end
end