f93f8f569d
Enables frozen string for the following: * lib/gitlab/patch/**/*.rb * lib/gitlab/popen/**/*.rb * lib/gitlab/profiler/**/*.rb * lib/gitlab/project_authorizations/**/*.rb * lib/gitlab/prometheus/**/*.rb * lib/gitlab/query_limiting/**/*.rb * lib/gitlab/quick_actions/**/*.rb * lib/gitlab/redis/**/*.rb * lib/gitlab/request_profiler/**/*.rb * lib/gitlab/search/**/*.rb * lib/gitlab/sherlock/**/*.rb * lib/gitlab/sidekiq_middleware/**/*.rb * lib/gitlab/slash_commands/**/*.rb * lib/gitlab/sql/**/*.rb * lib/gitlab/template/**/*.rb * lib/gitlab/testing/**/*.rb * lib/gitlab/utils/**/*.rb * lib/gitlab/webpack/**/*.rb Partially addresses gitlab-org/gitlab-ce#47424.
36 lines
710 B
Ruby
36 lines
710 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Gitlab
|
|
module Serializer
|
|
class Pagination
|
|
InvalidResourceError = Class.new(StandardError)
|
|
include ::API::Helpers::Pagination
|
|
|
|
def initialize(request, response)
|
|
@request = request
|
|
@response = response
|
|
end
|
|
|
|
def paginate(resource)
|
|
if resource.respond_to?(:page)
|
|
super(resource)
|
|
else
|
|
raise InvalidResourceError
|
|
end
|
|
end
|
|
|
|
# Methods needed by `API::Helpers::Pagination`
|
|
#
|
|
|
|
attr_reader :request
|
|
|
|
def params
|
|
@request.query_parameters
|
|
end
|
|
|
|
def header(header, value)
|
|
@response.headers[header] = value
|
|
end
|
|
end
|
|
end
|
|
end
|