Class: Gitlab::Serializer::Pagination::CursorPagination

Inherits:
Pagination::Base show all
Defined in:
lib/gitlab/serializer/pagination.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Pagination::Base

#finalize

Constructor Details

#initialize(request_context) ⇒ CursorPagination

Returns a new instance of CursorPagination.



13
14
15
# File 'lib/gitlab/serializer/pagination.rb', line 13

def initialize(request_context)
  @request_context = request_context
end

Instance Attribute Details

#request_contextObject (readonly)

Returns the value of attribute request_context.



9
10
11
# File 'lib/gitlab/serializer/pagination.rb', line 9

def request_context
  @request_context
end

Instance Method Details

#paginate(resource) ⇒ Object



17
18
19
20
21
22
# File 'lib/gitlab/serializer/pagination.rb', line 17

def paginate(resource)
  resource
    .tap { |paginator| apply_pagination_headers(paginator) }
    .records
    .tap { |records| header('X-Per-Page', records.count) }
end