awesome_nested_set 1.4.2 → 1.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/Rakefile CHANGED
@@ -22,7 +22,8 @@ Jeweler::Tasks.new do |s|
22
22
  s.rdoc_options = ["--main", "README.rdoc", "--inline-source", "--line-numbers"]
23
23
  s.test_files = Dir['test/**/*.{yml,rb}']
24
24
  end
25
-
25
+ Jeweler::GemcutterTasks.new
26
+
26
27
  desc 'Default: run unit tests.'
27
28
  task :default => :test
28
29
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.4.2
1
+ 1.4.3
@@ -1,12 +1,15 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
1
4
  # -*- encoding: utf-8 -*-
2
5
 
3
6
  Gem::Specification.new do |s|
4
7
  s.name = %q{awesome_nested_set}
5
- s.version = "1.4.2"
8
+ s.version = "1.4.3"
6
9
 
7
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
11
  s.authors = ["Brandon Keepers", "Daniel Morrison"]
9
- s.date = %q{2009-09-08}
12
+ s.date = %q{2009-10-07}
10
13
  s.description = %q{An awesome nested set implementation for Active Record}
11
14
  s.email = %q{info@collectiveidea.com}
12
15
  s.extra_rdoc_files = [
@@ -38,7 +41,7 @@ Gem::Specification.new do |s|
38
41
  s.homepage = %q{http://github.com/collectiveidea/awesome_nested_set}
39
42
  s.rdoc_options = ["--main", "README.rdoc", "--inline-source", "--line-numbers"]
40
43
  s.require_paths = ["lib"]
41
- s.rubygems_version = %q{1.3.3}
44
+ s.rubygems_version = %q{1.3.5}
42
45
  s.summary = %q{An awesome nested set implementation for Active Record}
43
46
  s.test_files = [
44
47
  "test/db/database.yml",
@@ -60,16 +60,17 @@ module CollectiveIdea #:nodoc:
60
60
  extend Columns
61
61
  extend ClassMethods
62
62
 
63
- belongs_to :parent, :class_name => self.base_class.class_name,
63
+ belongs_to :parent, :class_name => self.base_class.to_s,
64
64
  :foreign_key => parent_column_name
65
- has_many :children, :class_name => self.base_class.class_name,
65
+ has_many :children, :class_name => self.base_class.to_s,
66
66
  :foreign_key => parent_column_name, :order => quoted_left_column_name
67
67
 
68
68
  attr_accessor :skip_before_destroy
69
69
 
70
70
  # no bulk assignment
71
- attr_protected left_column_name.intern,
72
- right_column_name.intern
71
+ if accessible_attributes.blank?
72
+ attr_protected left_column_name.intern, right_column_name.intern
73
+ end
73
74
 
74
75
  before_create :set_default_left_and_right
75
76
  before_save :store_new_parent
@@ -88,7 +89,7 @@ module CollectiveIdea #:nodoc:
88
89
  named_scope :roots, :conditions => {parent_column_name => nil}, :order => quoted_left_column_name
89
90
  named_scope :leaves, :conditions => "#{quoted_right_column_name} - #{quoted_left_column_name} = 1", :order => quoted_left_column_name
90
91
 
91
- define_callbacks("before_move", "after_move") if self.respond_to?(:define_callbacks)
92
+ define_callbacks("before_move", "after_move")
92
93
  end
93
94
 
94
95
  end
@@ -160,7 +161,7 @@ module CollectiveIdea #:nodoc:
160
161
  # Don't rebuild a valid tree.
161
162
  return true if valid?
162
163
 
163
- scope = lambda{}
164
+ scope = lambda{|node|}
164
165
  if acts_as_nested_set_options[:scope]
165
166
  scope = lambda{|node|
166
167
  scope_column_names.inject(""){|str, column_name|
@@ -442,7 +443,7 @@ module CollectiveIdea #:nodoc:
442
443
  end
443
444
 
444
445
  def store_new_parent
445
- @move_to_new_parent_id = parent_id_changed? ? parent_id : false
446
+ @move_to_new_parent_id = send("#{parent_column_name}_changed?") ? parent_id : false
446
447
  true # force callback to return true
447
448
  end
448
449
 
@@ -504,7 +505,7 @@ module CollectiveIdea #:nodoc:
504
505
 
505
506
  def move_to(target, position)
506
507
  raise ActiveRecord::ActiveRecordError, "You cannot move a new node" if self.new_record?
507
- return if callback(:before_move) == false
508
+ return if run_callbacks(:before_move) == false
508
509
  transaction do
509
510
  if target.is_a? self.class.base_class
510
511
  target.reload_nested_set
@@ -567,7 +568,7 @@ module CollectiveIdea #:nodoc:
567
568
  end
568
569
  target.reload_nested_set if target
569
570
  self.reload_nested_set
570
- callback(:after_move)
571
+ run_callbacks(:after_move)
571
572
  end
572
573
 
573
574
  end
@@ -11,6 +11,9 @@ class ScopedCategory < ActiveRecord::Base
11
11
  acts_as_nested_set :scope => :organization
12
12
  set_table_name 'categories'
13
13
  end
14
+ class RenamedColumns < ActiveRecord::Base
15
+ acts_as_nested_set :parent_column => 'mother_id', :left_column => 'red', :right_column => 'black'
16
+ end
14
17
 
15
18
  class AwesomeNestedSetTest < TestCaseClass
16
19
 
@@ -33,16 +36,28 @@ class AwesomeNestedSetTest < TestCaseClass
33
36
  def test_left_column_name
34
37
  assert_equal 'lft', Default.left_column_name
35
38
  assert_equal 'lft', Default.new.left_column_name
39
+ assert_equal 'red', RenamedColumns.left_column_name
40
+ assert_equal 'red', RenamedColumns.new.left_column_name
36
41
  end
37
-
42
+
38
43
  def test_right_column_name
39
44
  assert_equal 'rgt', Default.right_column_name
40
45
  assert_equal 'rgt', Default.new.right_column_name
46
+ assert_equal 'black', RenamedColumns.right_column_name
47
+ assert_equal 'black', RenamedColumns.new.right_column_name
41
48
  end
42
49
 
43
50
  def test_parent_column_name
44
51
  assert_equal 'parent_id', Default.parent_column_name
45
52
  assert_equal 'parent_id', Default.new.parent_column_name
53
+ assert_equal 'mother_id', RenamedColumns.parent_column_name
54
+ assert_equal 'mother_id', RenamedColumns.new.parent_column_name
55
+ end
56
+
57
+ def test_creation_with_altered_column_names
58
+ assert_nothing_raised do
59
+ RenamedColumns.create!()
60
+ end
46
61
  end
47
62
 
48
63
  def test_quoted_left_column_name
@@ -730,4 +745,14 @@ class AwesomeNestedSetTest < TestCaseClass
730
745
 
731
746
  check_structure(Category.root.self_and_descendants, levels)
732
747
  end
748
+
749
+ def test_model_with_attr_accessible
750
+ model = Class.new(ActiveRecord::Base)
751
+ model.set_table_name 'categories'
752
+ model.attr_accessible :name
753
+ assert_nothing_raised do
754
+ model.acts_as_nested_set
755
+ model.new(:name => 'foo')
756
+ end
757
+ end
733
758
  end
data/test/db/schema.rb CHANGED
@@ -20,4 +20,11 @@ ActiveRecord::Schema.define(:version => 0) do
20
20
  t.column :notable_id, :integer
21
21
  t.column :notable_type, :string
22
22
  end
23
+
24
+ create_table :renamed_columns, :force => true do |t|
25
+ t.column :name, :string
26
+ t.column :mother_id, :integer
27
+ t.column :red, :integer
28
+ t.column :black, :integer
29
+ end
23
30
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: awesome_nested_set
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.2
4
+ version: 1.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brandon Keepers
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2009-09-08 00:00:00 -04:00
13
+ date: 2009-10-07 00:00:00 -04:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency