Skip to content

Commit 0bd1eda

Browse files
committed
[WIP] trying to fix
1 parent 1d84892 commit 0bd1eda

File tree

3 files changed

+16
-10
lines changed

3 files changed

+16
-10
lines changed

lib/active_model_serializers/adapter/json_api.rb

+3-3
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ def success_document(options)
4848

4949
if is_collection && serializer.paginated?
5050
hash[:links] ||= {}
51-
hash[:links].update(pagination_links_for(serializer, options))
51+
hash[:links].update(pagination_links_for(serializer))
5252
end
5353

5454
hash
@@ -181,8 +181,8 @@ def links_for(serializer)
181181
end
182182

183183
# {http://jsonapi.org/format/#fetching-pagination Pagination Links}
184-
def pagination_links_for(serializer, options)
185-
PaginationLinks.new(serializer.object, options[:serialization_context]).serializable_hash(options)
184+
def pagination_links_for(serializer)
185+
PaginationLinks.new(serializer.object, instance_options[:serialization_context]).as_json(instance_options)
186186
end
187187

188188
# {http://jsonapi.org/format/#document-meta Docment Meta}

lib/active_model_serializers/adapter/json_api/pagination_links.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ def initialize(collection, context)
1111
@context = context
1212
end
1313

14-
def serializable_hash(options = {})
14+
def as_json(options = {})
1515
pages_from.each_with_object({}) do |(key, value), hash|
1616
params = query_parameters.merge(page: { number: value, size: collection.size }).to_query
1717

test/adapter/json_api/pagination_links_test.rb

+12-6
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,18 @@ def mock_request(query_parameters = {}, original_url = URI)
2323
context = Minitest::Mock.new
2424
context.expect(:request_url, original_url)
2525
context.expect(:query_parameters, query_parameters)
26-
@options = {}
27-
@options[:serialization_context] = context
26+
@serializer_options = {
27+
serialization_context: context,
28+
adapter: :json_api
29+
}
2830
end
2931

3032
def load_adapter(paginated_collection, options = {})
31-
options = options.merge(adapter: :json_api)
33+
if options
34+
options.merge!(@serializer_options)
35+
else
36+
options = @serializer_options
37+
end
3238
ActiveModel::SerializableResource.new(paginated_collection, options)
3339
end
3440

@@ -84,22 +90,22 @@ def test_pagination_links_using_kaminari
8490
adapter = load_adapter(using_kaminari)
8591

8692
mock_request
87-
assert_equal expected_response_with_pagination_links, adapter.serializable_hash(@options)
93+
assert_equal expected_response_with_pagination_links, adapter.serializable_hash
8894
end
8995

9096
def test_pagination_links_using_will_paginate
9197
adapter = load_adapter(using_will_paginate)
9298

9399
mock_request
94-
assert_equal expected_response_with_pagination_links, adapter.serializable_hash(@options)
100+
assert_equal expected_response_with_pagination_links, adapter.serializable_hash
95101
end
96102

97103
def test_pagination_links_with_additional_params
98104
adapter = load_adapter(using_will_paginate)
99105

100106
mock_request({ test: 'test' })
101107
assert_equal expected_response_with_pagination_links_and_additional_params,
102-
adapter.serializable_hash(@options)
108+
adapter.serializable_hash
103109
end
104110

105111
def test_not_showing_pagination_links

0 commit comments

Comments
 (0)