From cd6ebe068cf42badc07ea0d803476ef4b1be3177 Mon Sep 17 00:00:00 2001 From: hukl Date: Thu, 17 Sep 2009 12:10:46 +0200 Subject: updated awesome_nested_set --- vendor/plugins/awesome_nested_set/VERSION | 2 +- .../awesome_nested_set/awesome_nested_set.gemspec | 12 ++++------- .../awesome_nested_set/lib/awesome_nested_set.rb | 6 +++--- .../test/awesome_nested_set_test.rb | 24 +++++++++++++++++++++- 4 files changed, 31 insertions(+), 13 deletions(-) (limited to 'vendor/plugins') diff --git a/vendor/plugins/awesome_nested_set/VERSION b/vendor/plugins/awesome_nested_set/VERSION index 347f583..9df886c 100644 --- a/vendor/plugins/awesome_nested_set/VERSION +++ b/vendor/plugins/awesome_nested_set/VERSION @@ -1 +1 @@ -1.4.1 +1.4.2 diff --git a/vendor/plugins/awesome_nested_set/awesome_nested_set.gemspec b/vendor/plugins/awesome_nested_set/awesome_nested_set.gemspec index dbbca9e..81108c5 100644 --- a/vendor/plugins/awesome_nested_set/awesome_nested_set.gemspec +++ b/vendor/plugins/awesome_nested_set/awesome_nested_set.gemspec @@ -1,15 +1,12 @@ -# Generated by jeweler -# DO NOT EDIT THIS FILE -# Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec` # -*- encoding: utf-8 -*- Gem::Specification.new do |s| s.name = %q{awesome_nested_set} - s.version = "1.4.1" + s.version = "1.4.2" s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= s.authors = ["Brandon Keepers", "Daniel Morrison"] - s.date = %q{2009-09-06} + s.date = %q{2009-09-08} s.description = %q{An awesome nested set implementation for Active Record} s.email = %q{info@collectiveidea.com} s.extra_rdoc_files = [ @@ -38,11 +35,10 @@ Gem::Specification.new do |s| "test/fixtures/notes.yml", "test/test_helper.rb" ] - s.has_rdoc = true s.homepage = %q{http://github.com/collectiveidea/awesome_nested_set} s.rdoc_options = ["--main", "README.rdoc", "--inline-source", "--line-numbers"] s.require_paths = ["lib"] - s.rubygems_version = %q{1.3.1} + s.rubygems_version = %q{1.3.3} s.summary = %q{An awesome nested set implementation for Active Record} s.test_files = [ "test/db/database.yml", @@ -59,7 +55,7 @@ Gem::Specification.new do |s| if s.respond_to? :specification_version then current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION - s.specification_version = 2 + s.specification_version = 3 if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then s.add_runtime_dependency(%q, [">= 1.1"]) diff --git a/vendor/plugins/awesome_nested_set/lib/awesome_nested_set.rb b/vendor/plugins/awesome_nested_set/lib/awesome_nested_set.rb index bafdf4c..015aa0f 100644 --- a/vendor/plugins/awesome_nested_set/lib/awesome_nested_set.rb +++ b/vendor/plugins/awesome_nested_set/lib/awesome_nested_set.rb @@ -63,7 +63,7 @@ module CollectiveIdea #:nodoc: belongs_to :parent, :class_name => self.base_class.class_name, :foreign_key => parent_column_name has_many :children, :class_name => self.base_class.class_name, - :foreign_key => parent_column_name + :foreign_key => parent_column_name, :order => quoted_left_column_name attr_accessor :skip_before_destroy @@ -160,7 +160,7 @@ module CollectiveIdea #:nodoc: # Don't rebuild a valid tree. return true if valid? - scope = lambda{} + scope = lambda{|node|} if acts_as_nested_set_options[:scope] scope = lambda{|node| scope_column_names.inject(""){|str, column_name| @@ -442,7 +442,7 @@ module CollectiveIdea #:nodoc: end def store_new_parent - @move_to_new_parent_id = parent_id_changed? ? parent_id : false + @move_to_new_parent_id = send("#{parent_column_name}_changed?") ? parent_id : false true # force callback to return true end diff --git a/vendor/plugins/awesome_nested_set/test/awesome_nested_set_test.rb b/vendor/plugins/awesome_nested_set/test/awesome_nested_set_test.rb index 7da4504..7b587de 100644 --- a/vendor/plugins/awesome_nested_set/test/awesome_nested_set_test.rb +++ b/vendor/plugins/awesome_nested_set/test/awesome_nested_set_test.rb @@ -11,6 +11,9 @@ class ScopedCategory < ActiveRecord::Base acts_as_nested_set :scope => :organization set_table_name 'categories' end +class RenamedColumns < ActiveRecord::Base + acts_as_nested_set :parent_column => 'mother_id', :left_column => 'red', :right_column => 'black' +end class AwesomeNestedSetTest < TestCaseClass @@ -33,16 +36,28 @@ class AwesomeNestedSetTest < TestCaseClass def test_left_column_name assert_equal 'lft', Default.left_column_name assert_equal 'lft', Default.new.left_column_name + assert_equal 'red', RenamedColumns.left_column_name + assert_equal 'red', RenamedColumns.new.left_column_name end - + def test_right_column_name assert_equal 'rgt', Default.right_column_name assert_equal 'rgt', Default.new.right_column_name + assert_equal 'black', RenamedColumns.right_column_name + assert_equal 'black', RenamedColumns.new.right_column_name end def test_parent_column_name assert_equal 'parent_id', Default.parent_column_name assert_equal 'parent_id', Default.new.parent_column_name + assert_equal 'mother_id', RenamedColumns.parent_column_name + assert_equal 'mother_id', RenamedColumns.new.parent_column_name + end + + def test_creation_with_altered_column_names + assert_nothing_raised do + RenamedColumns.create!() + end end def test_quoted_left_column_name @@ -195,6 +210,13 @@ class AwesomeNestedSetTest < TestCaseClass category.children.each {|c| assert_equal category.id, c.parent_id } end + def test_order_of_children + categories(:child_2).move_left + assert_equal categories(:child_2), categories(:top_level).children[0] + assert_equal categories(:child_1), categories(:top_level).children[1] + assert_equal categories(:child_3), categories(:top_level).children[2] + end + def test_is_or_is_ancestor_of? assert categories(:top_level).is_or_is_ancestor_of?(categories(:child_1)) assert categories(:top_level).is_or_is_ancestor_of?(categories(:child_2_1)) -- cgit v1.3