diff --git a/lib/extended_tag.rb b/lib/extended_tag.rb index 352b107..ed49637 100644 --- a/lib/extended_tag.rb +++ b/lib/extended_tag.rb @@ -1,4 +1,9 @@ class Tag + + attr_accessible :name, :parent_id, :pending + + has_many :children, :class_name => 'Tag', :foreign_key => 'parent_id', :dependent => :destroy + @@original_find = self.method(:find) # Rename the find method to find_with_pendings that includes all tags in the search regardless if its pending or not diff --git a/test/unit/extended_tag_test.rb b/test/unit/extended_tag_test.rb index 9faf42c..ccb78ed 100644 --- a/test/unit/extended_tag_test.rb +++ b/test/unit/extended_tag_test.rb @@ -19,15 +19,15 @@ class UserTest < ActiveSupport::TestCase def test_parent_candidates tag1 = Tag.create(:name => 'parent_tag') - tag2 = Tag.create(:name => 'child_tag', :parent => tag1) + tag2 = Tag.create(:name => 'child_tag', :parent_id => tag1.id) assert ( not tag1.parent_candidates.include?(tag2) ) assert tag2.parent_candidates.include?(tag1) end def test_descendents tag1 = Tag.create(:name => 'parent_tag') - tag2 = Tag.create(:name => 'child_tag', :parent => tag1) - tag3 = Tag.create(:name => 'grand_tag', :parent => tag2) + tag2 = Tag.create(:name => 'child_tag', :parent_id => tag1.id) + tag3 = Tag.create(:name => 'grand_tag', :parent_id => tag2.id) assert (not tag2.descendents.include?(tag1)) assert (not tag1.descendents.include?(tag1)) assert tag1.descendents.include?(tag2) -- libgit2 0.21.2