Module: ApiCursorPagination
- Defined in:
- lib/api_cursor_pagination/concern.rb,
lib/api_cursor_pagination.rb,
lib/api_cursor_pagination/version.rb
Overview
Include this controller concern in your api controller class to enable cursor pagination Example: class ExampleApiController
include ApiCursorPagination::Concern
def index
validate_and_setup_page_params(params)
if @errors.blank?
query_scope = build_your_sql_query_scope(params)
rows = paginate(query_scope, 'row_id')
api_response = { status: 'Success', field_names: field_names }.
merge((request.original_url.split('?').first, request.query_parameters)).
merge(results: rows).to_json
render(json: api_response, status: 201)
else
render(json: status400_error_response.to_json, status: 400)
end
end
private
def status400_error_response
response = { status: 'Error', errors: [] }
@errors.each do |error|
response[:errors] << (error.is_a?(Hash) ? error : { title: error })
end
response
end
end
Defined Under Namespace
Modules: Concern Classes: Error
Constant Summary collapse
- VERSION =
"1.0.0"