No description or website provided.
Ruby
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
spec
.gitignore
.rspec
.ruby-gemset
.ruby-version
Gemfile
LICENSE.txt
README.md
Rakefile
pagoid.gemspec

README.md

Pagoid

Gem Version

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|
    metadata[:paging] = pager.headers if pager.display_headers?
  end

  def index
    @people = paginated Person
    render json: { metadata: metdata, result: @people }
  end

  private
  def metadata
    @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

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request