Skip to content

bhushangahire/paginate_alphabetically

 
 

Repository files navigation

PaginateAlphabetically

An easy way to paginate a list of ActiveRecord objects alphabetically by any given attribute.

Example

Model

class User < ActiveRecord::Base
  paginate_alphabetically :by => :surname
end

Controller

class UsersController < ApplicationController
  def index
    @users = User.alphabetical_group(params[:letter])
  end
end

View (haml example)

= alphabetically_paginate(@users)
%ul.users
  - @users.each do |user|
    %li= user.surname

Testing

The tests use a sqlite3 in-memory database to be able to run separately from your application.

rake test

Options

The initial model code will take a show_all_letters option, in order to skip the (slow) letter finding code:

class User < ActiveRecord::Base
  paginate_alphabetically :by => :surname, :show_all_letters => true
end

To use alphanumeric functionality use numeric => true

class User < ActiveRecord::Base
  paginate_alphabetically :by => :surname, :numeric => true
end

Thanks to hoverlover the alphabetically_paginate view helper can take an options hash which allows you to override the class if you don’t want it to be ‘pagination’. For example:

= alphabetically_paginate(@users, :class => 'user-pagination')
= alphabetically_paginate(@users, :class => 'user-pagination', :numeric => true)

Contributing

We welcome feedback, issues and especially pull requests. Please make sure your change is tested. Please do not update the VERSION file – we’ll do that automatically. Thanks!

Copyright © 2010 Eden Development, released under the MIT license

About

An easy way to paginate a list of ActiveRecord objects alphabetically by any given attribute.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 100.0%