This is an implementation of a tree structure for MongoMapper.


Install as gem

gem install ramdiv-mongo_mapper_acts_as_tree


Enable the tree functionality by declaring acts_as_tree on your model

class Category
  include MongoMapper::Document
  include MongoMapper::Acts::Tree

  key :name, String


The method accepts :parent_id_field, :path_field, :depth_field, :order, :search_class as a hash.

:parent_id_field, :path_field, :depth_field => override the default field names
:order => control the order (format "_field-name_ _[asc|desc]_")
:search_class => expects a Class that is a MongoMapper::Document to be used for search

Check test_tree.rb and test_search_class.rb for examples.

About bugs

Use it. If you find any bugs, contact me (if possible with a test case) or patch it yourself (see next section).

Note on Patches/Pull Requests

  • Fork the project.

  • Make your feature addition or bug fix.

  • Add tests for it. This is important so I don't break it in a future version unintentionally.

  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)

  • Send me a pull request. Bonus points for topic branches.


Copyright © 2009 Jakob Vidmar. See LICENSE for details.