class Orion::API::CursorPaginator(T)

Overview

Cursor-based pagination (for infinite scroll, real-time data) More efficient for large datasets

Usage: cursor_paginator = Orion::API::CursorPaginator.new( collection: posts, cursor: params["cursor"]?, limit: 25 )

render json: { data: cursor_paginator.items, pagination: cursor_paginator.meta }

Defined in:

orion/api/pagination.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(collection : Array(T), cursor : String | Nil = nil, limit : Int32 = 25) #

[View source]

Instance Method Detail

def collection : Array(T) #

[View source]
def collection=(collection : Array(T)) #

[View source]
def cursor : String | Nil #

[View source]
def cursor=(cursor : String | Nil) #

[View source]
def has_more? : Bool #

[View source]
def items : Array(T) #

Get paginated items


[View source]
def limit : Int32 #

[View source]
def limit=(limit : Int32) #

[View source]
def meta : Hash(String, String | Bool | Int32) #

Get pagination metadata


[View source]
def next_cursor : String | Nil #

[View source]