No commit activity in last 3 years
No release in over 3 years
Uniqueness validator when using the ancestry gem.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.3
~> 10.0
~> 2.0
~> 1.3

Runtime

~> 2.0
 Project Readme

Gem Version

Ancestry uniqueness

Provides an activerecord uniqueness validator for objects that are ordered in a tree using the ancestry gem.

The gem is just a custom validator as described in the Rails guides.

Usage

After adding the gem to your project simply add ancestry_uniqueness: true as a parameter to the validates class method. E.g.:

class Page < ActiveRecord::Base
  has_ancestry

  validates :slug, ancestry_uniqueness: true
end

This makes sure the object doesn't pass validation when the attribute (slug in this case) isn't unique among the object's siblings (i.e. within the same parent).

With scope

If you want to scope your attribute pass a hash to ancestry_uniqueness like so:

class Page < ActiveRecord::Base
  has_ancestry

  validates :slug, ancestry_uniqueness: {scope: :some_attribute}
end

Compatibility

The gem depends on ancestry 2 or greater. It should work in Rails 3 and Rails 4 apps.

Currently it's only tested in a Rails 4.0.1 app.

Credits

I really should mention groe as I based this gem heavily on his code snippet.