Skip to content

Cursor pagination with pagy for Ruby On Rails

License

Notifications You must be signed in to change notification settings

Ophelos/pagy-cursor

 
 

Repository files navigation

PagyCursor

Extra Pagy to work with cursor pagination

Installation

Add this line to your application's Gemfile:

gem 'pagy_cursor'

And then execute:

$ bundle install

Usage

Include the backend in some controller:

require "pagy_cursor/pagy/extras/cursor"
require "pagy_cursor/pagy/extras/uuid_cursor"

include Pagy::Backend

Default

pagy_cursor(Post.all)

Before and After

pagy_cursor(Post.all, after: 10)
pagy_cursor(Post.all, before: 10)

With UUID

pagy_uuid_cursor(Post.all, after: "ce5d2741-4e52-49b2-bb76-c41b67ab3aad")
pagy_uuid_cursor(Post.all, before: "ce5d2741-4e52-49b2-bb76-c41b67ab3aad")

Ordering collection

pagy_cursor(Post.all, after: 10, order: {updated_at: :desc})

Credits

Many thanks to:

Support Databases

  • SQLite
  • Postgresql
  • MySQL

Tests & Contributing

To run tests in root folder of gem:

  • export DB=sqlite3 to work with sqlite (see support databases)
  • bundle install
  • bundle exec rspec

To test on specific Rails version export BUNDLE_GEMFILE=gemfiles/active_record_70.gemfile to work with Rails 7

To play with app cd test/dummy and rails s -b 0.0.0.0 (before rails db:migrate).

License

The gem is available as open source under the terms of the MIT License.

About

Cursor pagination with pagy for Ruby On Rails

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 81.7%
  • HTML 13.4%
  • JavaScript 2.8%
  • CSS 1.8%
  • Shell 0.3%