granite-paginate
Crystal shard adding pagination support for Granite ORM.
Installation
- Add the dependency to your
shard.yml
:
`yaml
dependencies:
granite-paginate:
github: nicolab/granite-paginate
`
- Run
shards install
Usage
Add (require) granite-paginate
shard after Granite initialization.
# TODO: Granite initialization here...
require "granite-paginate"
posts = Post.paginate.where(published: true)
posts = Post.where(published: true).paginate
posts = Post.order(:id).paginate
posts = Post.paginate.select
# Set the offset
posts = Post.order(:id).paginate(20)
# Custom limit
posts = Post.paginate(limit: 50)
# Custom offset and limit
posts = Post.paginate(3000, 100)
Development
One line:
./scripts/develop
or splitted:
Terminal 1:
docker-compose up
Terminal 2:
# host
docker-compose exec app bash
# container
just develop
When you are done, check and clean the code:
# container
just clean
Contributing
- Fork it (<https://github.com/nicolab/granite-paginate/fork>)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
LICENSE
MIT (c) 2020, Nicolas Talle.
Author
| | |---| | Nicolas Talle | | |