Pagoid
Pagoid extracts the difference between WillPaginate and Kaminari as well as provides a standard callback for things like publishing page info to your clients.
Installation
Add this line to your application's Gemfile:
gem 'kaminari'
# OR
gem 'will_paginate'
gem 'pagoid'
And then execute:
$ bundle
Usage
class PeopleController < ApplicationController
paged do |pager|
[:paging] = pager.headers if pager.display_headers?
end
def index
@people = paginated Person
render json: { metadata: metdata, result: @people }
end
private
def
@metdata ||= {}
end
end
You can stack paged
blocks through inheritance:
class ApplicationController < ActionController::Base
paged do |pager|
notice! pager.headers
end
def notice!(hash)
Rails.logger.debug hash
end
end
class PeopleController < ApplicationController
#.. from above
end
Contributing
- Fork it
- 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 new Pull Request