awesome_nested_set 1.4.3 → 1.4.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -39,6 +39,14 @@ Enable the nested set functionality by declaring acts_as_nested_set on your mode
39
39
 
40
40
  Run `rake rdoc` to generate the API docs and see CollectiveIdea::Acts::NestedSet::SingletonMethods for more info.
41
41
 
42
+ == Conversion from other trees
43
+
44
+ Coming from acts_as_tree or another system where you only have a parent_id? No problem. Simply add the lft & rgt fields as above, and then run
45
+
46
+ Category.rebuild!
47
+
48
+ Your tree be converted to a valid nested set. Awesome!
49
+
42
50
  == View Helper
43
51
 
44
52
  The view helper is called #nested_set_options.
data/Rakefile CHANGED
@@ -1,7 +1,8 @@
1
+ require 'rubygems'
1
2
  begin
2
3
  require 'jeweler'
3
4
  rescue LoadError
4
- puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
5
+ puts "Jeweler not available. Install it with: sudo gem install jeweler"
5
6
  exit 1
6
7
  end
7
8
  require 'rake/testtask'
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.4.3
1
+ 1.4.4
@@ -1,15 +1,15 @@
1
1
  # Generated by jeweler
2
- # DO NOT EDIT THIS FILE
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{awesome_nested_set}
8
- s.version = "1.4.3"
8
+ s.version = "1.4.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Brandon Keepers", "Daniel Morrison"]
12
- s.date = %q{2009-10-07}
12
+ s.date = %q{2011-05-10}
13
13
  s.description = %q{An awesome nested set implementation for Active Record}
14
14
  s.email = %q{info@collectiveidea.com}
15
15
  s.extra_rdoc_files = [
@@ -17,50 +17,37 @@ Gem::Specification.new do |s|
17
17
  ]
18
18
  s.files = [
19
19
  ".autotest",
20
- ".gitignore",
21
- "MIT-LICENSE",
22
- "README.rdoc",
23
- "Rakefile",
24
- "VERSION",
25
- "awesome_nested_set.gemspec",
26
- "init.rb",
27
- "lib/awesome_nested_set.rb",
28
- "lib/awesome_nested_set/helper.rb",
29
- "rails/init.rb",
30
- "test/application.rb",
31
- "test/awesome_nested_set/helper_test.rb",
32
- "test/awesome_nested_set_test.rb",
33
- "test/db/database.yml",
34
- "test/db/schema.rb",
35
- "test/fixtures/categories.yml",
36
- "test/fixtures/category.rb",
37
- "test/fixtures/departments.yml",
38
- "test/fixtures/notes.yml",
39
- "test/test_helper.rb"
20
+ "MIT-LICENSE",
21
+ "README.rdoc",
22
+ "Rakefile",
23
+ "VERSION",
24
+ "awesome_nested_set.gemspec",
25
+ "init.rb",
26
+ "lib/awesome_nested_set.rb",
27
+ "lib/awesome_nested_set/helper.rb",
28
+ "rails/init.rb",
29
+ "test/application.rb",
30
+ "test/awesome_nested_set/helper_test.rb",
31
+ "test/awesome_nested_set_test.rb",
32
+ "test/db/database.yml",
33
+ "test/db/schema.rb",
34
+ "test/fixtures/categories.yml",
35
+ "test/fixtures/category.rb",
36
+ "test/fixtures/departments.yml",
37
+ "test/fixtures/notes.yml",
38
+ "test/test_helper.rb"
40
39
  ]
41
40
  s.homepage = %q{http://github.com/collectiveidea/awesome_nested_set}
42
41
  s.rdoc_options = ["--main", "README.rdoc", "--inline-source", "--line-numbers"]
43
42
  s.require_paths = ["lib"]
44
- s.rubygems_version = %q{1.3.5}
43
+ s.rubygems_version = %q{1.5.2}
45
44
  s.summary = %q{An awesome nested set implementation for Active Record}
46
- s.test_files = [
47
- "test/db/database.yml",
48
- "test/fixtures/categories.yml",
49
- "test/fixtures/departments.yml",
50
- "test/fixtures/notes.yml",
51
- "test/application.rb",
52
- "test/awesome_nested_set/helper_test.rb",
53
- "test/awesome_nested_set_test.rb",
54
- "test/db/schema.rb",
55
- "test/fixtures/category.rb",
56
- "test/test_helper.rb"
57
- ]
45
+ s.test_files = ["test/db/database.yml", "test/fixtures/categories.yml", "test/fixtures/departments.yml", "test/fixtures/notes.yml", "test/application.rb", "test/awesome_nested_set/helper_test.rb", "test/awesome_nested_set_test.rb", "test/db/schema.rb", "test/fixtures/category.rb", "test/test_helper.rb"]
58
46
 
59
47
  if s.respond_to? :specification_version then
60
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
61
48
  s.specification_version = 3
62
49
 
63
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
50
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
64
51
  s.add_runtime_dependency(%q<activerecord>, [">= 1.1"])
65
52
  else
66
53
  s.add_dependency(%q<activerecord>, [">= 1.1"])
@@ -69,3 +56,4 @@ Gem::Specification.new do |s|
69
56
  s.add_dependency(%q<activerecord>, [">= 1.1"])
70
57
  end
71
58
  end
59
+
@@ -755,4 +755,47 @@ class AwesomeNestedSetTest < TestCaseClass
755
755
  model.new(:name => 'foo')
756
756
  end
757
757
  end
758
+
759
+ def test_before_move_callback
760
+ @called = false
761
+ Category.before_move do |record|
762
+ @called = true
763
+ end
764
+ categories(:child_2).move_to_root
765
+ assert @called
766
+ ensure
767
+ Category.before_move_callback_chain.pop
768
+ end
769
+
770
+ def test_before_move_callback_returning_false_stops_move
771
+ Category.before_move do
772
+ return false
773
+ end
774
+ assert !categories(:child_3).move_to_root
775
+ assert !categories(:child_3).root?
776
+ ensure
777
+ Category.before_move_callback_chain.pop
778
+ end
779
+
780
+ def test_before_move_callback_returning_false_halts_save
781
+ Category.before_move do
782
+ return false
783
+ end
784
+ categories(:child_3).parent_id = nil
785
+ assert !categories(:child_3).save
786
+ ensure
787
+ Category.before_move_callback_chain.pop
788
+ end
789
+
790
+ def test_calls_after_save_when_moving
791
+ @called = false
792
+ Category.after_save do
793
+ @called = true
794
+ end
795
+ categories(:child_3).parent = categories(:child_2)
796
+ assert categories(:child_3).save
797
+ assert @called
798
+ ensure
799
+ Category.after_save_callback_chain.pop
800
+ end
758
801
  end
metadata CHANGED
@@ -1,7 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: awesome_nested_set
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.3
4
+ hash: 15
5
+ prerelease:
6
+ segments:
7
+ - 1
8
+ - 4
9
+ - 4
10
+ version: 1.4.4
5
11
  platform: ruby
6
12
  authors:
7
13
  - Brandon Keepers
@@ -10,19 +16,24 @@ autorequire:
10
16
  bindir: bin
11
17
  cert_chain: []
12
18
 
13
- date: 2009-10-07 00:00:00 -04:00
19
+ date: 2011-05-10 00:00:00 +01:00
14
20
  default_executable:
15
21
  dependencies:
16
22
  - !ruby/object:Gem::Dependency
17
23
  name: activerecord
18
- type: :runtime
19
- version_requirement:
20
- version_requirements: !ruby/object:Gem::Requirement
24
+ prerelease: false
25
+ requirement: &id001 !ruby/object:Gem::Requirement
26
+ none: false
21
27
  requirements:
22
28
  - - ">="
23
29
  - !ruby/object:Gem::Version
30
+ hash: 13
31
+ segments:
32
+ - 1
33
+ - 1
24
34
  version: "1.1"
25
- version:
35
+ type: :runtime
36
+ version_requirements: *id001
26
37
  description: An awesome nested set implementation for Active Record
27
38
  email: info@collectiveidea.com
28
39
  executables: []
@@ -33,7 +44,6 @@ extra_rdoc_files:
33
44
  - README.rdoc
34
45
  files:
35
46
  - .autotest
36
- - .gitignore
37
47
  - MIT-LICENSE
38
48
  - README.rdoc
39
49
  - Rakefile
@@ -66,21 +76,27 @@ rdoc_options:
66
76
  require_paths:
67
77
  - lib
68
78
  required_ruby_version: !ruby/object:Gem::Requirement
79
+ none: false
69
80
  requirements:
70
81
  - - ">="
71
82
  - !ruby/object:Gem::Version
83
+ hash: 3
84
+ segments:
85
+ - 0
72
86
  version: "0"
73
- version:
74
87
  required_rubygems_version: !ruby/object:Gem::Requirement
88
+ none: false
75
89
  requirements:
76
90
  - - ">="
77
91
  - !ruby/object:Gem::Version
92
+ hash: 3
93
+ segments:
94
+ - 0
78
95
  version: "0"
79
- version:
80
96
  requirements: []
81
97
 
82
98
  rubyforge_project:
83
- rubygems_version: 1.3.5
99
+ rubygems_version: 1.5.2
84
100
  signing_key:
85
101
  specification_version: 3
86
102
  summary: An awesome nested set implementation for Active Record
data/.gitignore DELETED
@@ -1,5 +0,0 @@
1
- awesome_nested_set.sqlite3.db
2
- test/debug.log
3
- rdoc
4
- coverage
5
- pkg