diff --git a/jsonapi-utils.gemspec b/jsonapi-utils.gemspec index a8c63d5..a89bc18 100644 --- a/jsonapi-utils.gemspec +++ b/jsonapi-utils.gemspec @@ -19,12 +19,12 @@ Gem::Specification.new do |spec| spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } spec.require_paths = ['lib'] - spec.add_runtime_dependency 'jsonapi-resources', '0.9.0' + spec.add_runtime_dependency 'jsonapi-resources', '0.9.8' spec.add_development_dependency 'bundler', '~> 1.10' spec.add_development_dependency 'rake', '~> 10.0' spec.add_development_dependency 'rails', ENV['RAILS_VERSION'] || '~> 5.1' - spec.add_development_dependency 'sqlite3' + spec.add_development_dependency 'sqlite3', '~> 1.3.6' spec.add_development_dependency 'rspec-rails', '~> 3.1' spec.add_development_dependency 'factory_girl', '~> 4.8' spec.add_development_dependency 'smart_rspec', '~> 0.1.6' diff --git a/lib/jsonapi/utils/request.rb b/lib/jsonapi/utils/request.rb index 99d4459..a746d20 100644 --- a/lib/jsonapi/utils/request.rb +++ b/lib/jsonapi/utils/request.rb @@ -6,6 +6,11 @@ module Request def jsonapi_request_handling setup_request check_request + rescue JSONAPI::Exceptions::InvalidResource, + JSONAPI::Exceptions::InvalidField, + JSONAPI::Exceptions::InvalidInclude, + JSONAPI::Exceptions::InvalidSortCriteria => err + jsonapi_render_errors(json: err) end # Instantiate the request object. diff --git a/spec/controllers/posts_controller_spec.rb b/spec/controllers/posts_controller_spec.rb index 68e08ef..b709d08 100644 --- a/spec/controllers/posts_controller_spec.rb +++ b/spec/controllers/posts_controller_spec.rb @@ -172,7 +172,7 @@ expect(subject).to have_http_status :ok expect(subject).to have_primary_data('posts') expect(subject).to have_data_attributes(fields) - expect(subject).to have_relationships(relationships) + expect(json).to_not have_key('relationships') expect(data.dig('attributes', 'title')).to eq('Lorem ipsum') end end