提交 f55fcef3 编写于 作者: G Grzegorz Bizon

Add prototype of pipelines serializer with pagination

上级 7870614f
......@@ -18,6 +18,7 @@ class Projects::PipelinesController < Projects::ApplicationController
render json: {
pipelines: PipelineSerializer
.new(project: @project, user: @current_user)
.with_pagination(request, response)
.represent(@pipelines),
updated_at: Time.now.utc,
count: {
......
class PipelineSerializer < BaseSerializer
entity PipelineEntity
include API::Helpers::Pagination
Struct.new('Pagination', :request, :response)
def with_pagination(request, response)
tap { @pagination = Struct::Pagination.new(request, response) }
end
def paginate?
defined?(@pagination)
end
def represent(resource, opts = {})
if paginate?
super(paginate(resource), opts)
else
super(resource, opts)
end
end
private
# Methods needed by `API::Helpers::Pagination`
#
def params
@pagination.request.query_parameters
end
def request
@pagination.request
end
def header(header, value)
@pagination.response.headers[header] = value
end
end
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册