Skip to content

chief/acts_as_previous_next

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ActsAsPreviousNext

Build Status Code Climate Gem Version Dependency Status

Description

This acts_as extension provides the capability for having previous & next methods for an object. Previous & next are based on a specified column (default is id).

Install

  • Rails >= 3

    In your Gemfile

    gem 'acts_as_previous_next'

    Currently is tested on ruby 1.9.3 & 2.0.0 and mysql

Example

  class Post < ActiveRecord::Base
    acts_as_previous_next
    # acts_as_previous_next column: :id
    # or
    # acts_as_previous_next :id
  end

  post = Post.new
  post.next # => nil
  post.save
  post.next # => post
  post.previous # => post
  another_post = Post.new
  another_post.save
  another_post.next # => post
  another_post.previous # => post

Authorization support

Currently CanCan authorization is supported as option (false by default). If cancan authorization is enabled then current_ability must be passed to previous next methods. So the previous example with cancan:

  class Post < ActiveRecord::Base
    acts_as_previous_next with_cancan: true

    belongs_to :user
  end

And in your view:

  link_to 'Next', @post.next(current_ability)
  link_to 'Previous', @post.previous(current_ability)

License

acts_as_previous_next is released under the MIT License

About

A gem allowing an active_record model to have previous, next based on single column

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors