diff --git a/barkbox_client.gemspec b/barkbox_client.gemspec index d6aec8f..aaf0e09 100644 --- a/barkbox_client.gemspec +++ b/barkbox_client.gemspec @@ -28,7 +28,7 @@ Gem::Specification.new do |spec| spec.add_dependency "rails", ">= 4.2.5.2" spec.add_development_dependency "sqlite3" - spec.add_development_dependency "bundler", "~> 1.11" + spec.add_development_dependency "bundler", "~> 2.4.10" spec.add_development_dependency "rake", "~> 10.0" spec.add_development_dependency "rspec", "~> 3.5" spec.add_development_dependency "rspec-rails", "~> 3.5" @@ -36,5 +36,5 @@ Gem::Specification.new do |spec| spec.add_development_dependency "webmock" spec.add_runtime_dependency "multi_json" - spec.add_runtime_dependency "oauth2", "~> 1.4.0" + spec.add_runtime_dependency "oauth2", "~> 2.0" end diff --git a/lib/barkbox_client/api_error.rb b/lib/barkbox_client/api_error.rb index 3fe7fa4..6224e9c 100644 --- a/lib/barkbox_client/api_error.rb +++ b/lib/barkbox_client/api_error.rb @@ -7,13 +7,21 @@ def initialize(response) @errors = JSON.parse(response.body, symbolize_names: true)[:errors] @errors = {general: errors} if errors.is_a?(String) rescue => e - @errors = {general: 'Error'} + @errors = {general: e.message} end end def pretty_errors - return @errors if @errors.is_a?(String) - @errors.map { |k, v| "#{k} #{v}" }.join(", ") + case @errors + when String + @errors + when Hash + @errors.map { |k, v| "#{k} #{v}" }.join(", ") + when NilClass + "@errors was nil" + else + "Unknown error format: #{@errors}" + end end def message