Skip to content
Acts as list mongoid implementation
Ruby
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
lib
spec
.gitignore
.rspec
.rvmrc
Gemfile
README.md
Rakefile
mongoid_orderable.gemspec

README.md

What?

Mongoid::Orderable is a ordered list implementation for your mongoid models.

Why?

  • It uses native mongo batch increment feature
  • It supports assignable api
  • It proper assingns position while moving document between scopes

How?

gem 'mongoid_orderable'

Gem has the same api as others. Just include Mongoid::Orderable into your model. Also you can initialize orderable manually and specify :scope or :column options:

class Item
  include Mongoid::Document
  include Mongoid::Orderable

  # belongs_to :group

  # orderable :scope => :group, :column => :pos
  # orderable :scope => lambda { |document| where(:group_id => document.group_id) }
end

Usage

item.move_to 2 # just change position
item.move_to! 2 # and save
item.move_to = 2 # assignable method

# symbol position
item.move_to :top
item.move_to :bottom
item.move_to :higher
item.move_to :lower

# generated methods
item.move_to_top
item.move_to_bottom
item.move_higher
item.move_lower

Contributing

Fork && Patch && Spec && Push && Pull request.

License

Mongoid::Orderable is released under the MIT license.

Something went wrong with that request. Please try again.