awesome_nested_set 1.4.3 → 1.4.4
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/README.rdoc +8 -0
- data/Rakefile +2 -1
- data/VERSION +1 -1
- data/awesome_nested_set.gemspec +27 -39
- data/test/awesome_nested_set_test.rb +43 -0
- metadata +26 -10
- data/.gitignore +0 -5
data/README.rdoc
CHANGED
@@ -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
|
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.
|
1
|
+
1.4.4
|
data/awesome_nested_set.gemspec
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
# Generated by jeweler
|
2
|
-
# DO NOT EDIT THIS FILE
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run
|
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.
|
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{
|
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
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
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.
|
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::
|
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
|
-
|
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:
|
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
|
-
|
19
|
-
|
20
|
-
|
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
|
-
|
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.
|
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
|