Sha256: a519b513a89eb251e92a2db43dd84abd9402869d4afdb85c65e817c2e955a34b

Contents?: true

Size: 1.97 KB

Versions: 4

Compression:

Stored size: 1.97 KB

Contents

= Kaminari

A Scope & Engine based clean and powerful and customizable and sophisticated paginator for Rails 3


== Features

* Clean
Does not globally pollute Array, Hash, Object or AR::Base.

* Easy to use
Just bundle the gem, then your models are ready to be paginated. No configuration. Don't have to define anything in your models or helpers.

* Scope based simple API
Everything is method chainable. No Hash for the query. You know, that's the Rails 3 way.
No special collection class or something for the paginated values but uses a general AR::Relation instance. So, of course you can chain any other conditions before or after the paginator scope.

* Engine based customizable helper
As the whole pagination helper is basically just a collection of links and non-links, Kaminari renders each of them through its own partial template inside the Engine. So, you can easily modify their behaviour or style or whatever by overriding partial templates.


== Rails versions

3.0.x and 3.1


== Install

Put this line in your Gemfile:
  gem 'kaminari'

Then bundle:
  % bundle


== Usage

* Fetch the 7th page of the users (per_page = 25 by default)

  @users = User.page(7)

* Show a lot more users per each page (change the per_page value)

  @users = User.page(7).per(50)

* Typically, your controller code will look like this:

  @users = User.page params[:page]

* In your view

  <%= paginate @users %>

* Specify the "window" size

  # "inner window" (4 by default)

  <%= paginate @users, :window => 3 %>

  # "outer window" (1 by default)

  <%= paginate @users, :outer_window => 3 %>

  # outer window can be separetely specified by "left", "right" (1 by default)

  <%= paginate @users, :left => 0, :right => 2 %>

* Customize the pagination helper

  % rails g kaminari:views
Then edit the partials in your app's app/views/kaminari/ directory.


== Contributing to Kaminari

* Fork, fix, then send me a pull request.


== Copyright

Copyright (c) 2011 Akira Matsuda. See LICENSE.txt for further details.

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
kaminari-0.5.0 README.rdoc
kaminari-0.4.0 README.rdoc
kaminari-0.3.0 README.rdoc
kaminari-0.2.1 README.rdoc