Skip to content

Commit 9f34830

Browse files
authored
Merge pull request #1020 from dougo/parse-blank-includes
Handle empty include= parameter.
2 parents 3b1acee + 23ea59e commit 9f34830

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

lib/jsonapi/request_parser.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -345,7 +345,7 @@ def parse_include_directives(resource_klass, raw_include)
345345

346346
included_resources = []
347347
begin
348-
included_resources += raw_include.is_a?(Array) ? raw_include : CSV.parse_line(raw_include)
348+
included_resources += raw_include.is_a?(Array) ? raw_include : CSV.parse_line(raw_include) || []
349349
rescue CSV::MalformedCSVError
350350
fail JSONAPI::Exceptions::InvalidInclude.new(format_key(resource_klass._type), raw_include)
351351
end

test/unit/jsonapi_request/jsonapi_request_test.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,11 @@ def test_parse_includes_underscored
4242
assert request.errors.empty?
4343
end
4444

45+
def test_parse_blank_includes
46+
include_directives = JSONAPI::RequestParser.new.parse_include_directives(nil, '')
47+
assert_empty include_directives.model_includes
48+
end
49+
4550
def test_parse_dasherized_with_dasherized_include
4651
params = ActionController::Parameters.new(
4752
{

0 commit comments

Comments
 (0)