From 920909e63d3a56f8e7ed3801f98d7b843b018928 Mon Sep 17 00:00:00 2001 From: Paul Dufour Date: Tue, 24 Nov 2015 13:16:55 -0800 Subject: [PATCH] Add fallback json library Useful for environments like jruby where c-exts are disabled. --- Gemfile | 6 +++++- lib/environment.rb | 7 ++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index 5ecfbedf7..6e85e6ae9 100644 --- a/Gemfile +++ b/Gemfile @@ -3,7 +3,11 @@ source 'https://rubygems.org' gem 'typhoeus', '~>0.8.0' gem 'nokogiri' gem 'addressable' -gem 'yajl-ruby' # Better JSON parser regarding memory usage +if defined?(JRUBY_VERSION) + gem 'json' +else + gem 'yajl-ruby' # Better JSON parser regarding memory usage +end # TODO: update the below when terminal-table 1.5.3+ is released. # (and delete the Terminal module in lib/common/hacks.rb) gem 'terminal-table', '~>1.4.5' diff --git a/lib/environment.rb b/lib/environment.rb index 85ae571d3..5f54c734d 100644 --- a/lib/environment.rb +++ b/lib/environment.rb @@ -31,7 +31,12 @@ require 'pathname' # Third party libs require 'typhoeus' - require 'yajl/json_gem' + begin + require 'yajl/json_gem' + rescue LoadError + # Require basic json library if yajl is not available + require 'json' + end require 'nokogiri' require 'terminal-table' require 'ruby-progressbar'