nested_set 1.6.5 → 1.6.6
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/VERSION +1 -1
- data/lib/nested_set/base.rb +6 -0
- data/lib/nested_set/depth.rb +3 -4
- data/nested_set.gemspec +2 -2
- data/test/fixtures/categories.yml +1 -1
- data/test/nested_set_test.rb +7 -9
- metadata +15 -15
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.6.
|
1
|
+
1.6.6
|
data/lib/nested_set/base.rb
CHANGED
@@ -59,6 +59,12 @@ module CollectiveIdea #:nodoc:
|
|
59
59
|
class_attribute :acts_as_nested_set_options
|
60
60
|
self.acts_as_nested_set_options = options
|
61
61
|
|
62
|
+
class_attribute :use_depth
|
63
|
+
self.use_depth = self.base_class.column_names.include?(self.base_class.acts_as_nested_set_options[:depth_column])
|
64
|
+
|
65
|
+
#backward compatibility
|
66
|
+
alias_method :depth?, :use_depth
|
67
|
+
|
62
68
|
unless self.is_a?(ClassMethods)
|
63
69
|
include Comparable
|
64
70
|
include Columns
|
data/lib/nested_set/depth.rb
CHANGED
@@ -14,9 +14,8 @@ module CollectiveIdea #:nodoc:
|
|
14
14
|
scope_string.blank? ? "1 = 1" : scope_string
|
15
15
|
end
|
16
16
|
|
17
|
-
|
18
|
-
|
19
|
-
self.respond_to?(:depth)
|
17
|
+
def depth
|
18
|
+
super.to_i if depth?
|
20
19
|
end
|
21
20
|
|
22
21
|
# Update cached_level attribute
|
@@ -24,7 +23,7 @@ module CollectiveIdea #:nodoc:
|
|
24
23
|
self.depth = level
|
25
24
|
if depth_changed?
|
26
25
|
self.self_and_descendants.
|
27
|
-
update_all(["#{self.class.quoted_depth_column_name} = #{self.class.quoted_depth_column_name} + ?",
|
26
|
+
update_all(["#{self.class.quoted_depth_column_name} = COALESCE(#{self.class.quoted_depth_column_name}, 0) + ?",
|
28
27
|
depth_change[1] - depth_change[0].to_i])
|
29
28
|
end
|
30
29
|
end
|
data/nested_set.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{nested_set}
|
8
|
-
s.version = "1.6.
|
8
|
+
s.version = "1.6.6"
|
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{2011-05-
|
12
|
+
s.date = %q{2011-05-30}
|
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 = [
|
data/test/nested_set_test.rb
CHANGED
@@ -5,13 +5,13 @@ class Note < ActiveRecord::Base
|
|
5
5
|
end
|
6
6
|
|
7
7
|
class Default < ActiveRecord::Base
|
8
|
-
acts_as_nested_set
|
9
8
|
set_table_name 'categories'
|
9
|
+
acts_as_nested_set
|
10
10
|
end
|
11
11
|
|
12
12
|
class ScopedCategory < ActiveRecord::Base
|
13
|
-
acts_as_nested_set :scope => :organization
|
14
13
|
set_table_name 'categories'
|
14
|
+
acts_as_nested_set :scope => :organization
|
15
15
|
end
|
16
16
|
|
17
17
|
class RenamedColumns < ActiveRecord::Base
|
@@ -203,15 +203,13 @@ class NestedSetTest < ActiveSupport::TestCase
|
|
203
203
|
end
|
204
204
|
|
205
205
|
def test_depth_after_move
|
206
|
-
categories(:
|
207
|
-
|
208
|
-
assert_equal 0, categories(:child_2).depth
|
209
|
-
assert_equal 1, categories(:child_2_1).depth
|
206
|
+
assert_equal 0, categories(:top_level).depth
|
207
|
+
assert_equal 1, categories(:child_2).depth
|
210
208
|
|
211
|
-
categories(:
|
209
|
+
categories(:top_level).move_to_child_of(categories(:top_level_2))
|
212
210
|
|
213
|
-
assert_equal 1, categories(:
|
214
|
-
assert_equal 2, categories(:
|
211
|
+
assert_equal 1, categories(:top_level).reload.depth
|
212
|
+
assert_equal 2, categories(:child_2).reload.depth
|
215
213
|
end
|
216
214
|
|
217
215
|
def test_has_children?
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nested_set
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.6.
|
4
|
+
version: 1.6.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,12 +10,12 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2011-05-
|
13
|
+
date: 2011-05-30 00:00:00.000000000 +04:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: railties
|
18
|
-
requirement: &
|
18
|
+
requirement: &9314280 !ruby/object:Gem::Requirement
|
19
19
|
none: false
|
20
20
|
requirements:
|
21
21
|
- - ! '>='
|
@@ -23,10 +23,10 @@ dependencies:
|
|
23
23
|
version: 3.0.0
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
|
-
version_requirements: *
|
26
|
+
version_requirements: *9314280
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: activerecord
|
29
|
-
requirement: &
|
29
|
+
requirement: &9313680 !ruby/object:Gem::Requirement
|
30
30
|
none: false
|
31
31
|
requirements:
|
32
32
|
- - ! '>='
|
@@ -34,10 +34,10 @@ dependencies:
|
|
34
34
|
version: 3.0.0
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
|
-
version_requirements: *
|
37
|
+
version_requirements: *9313680
|
38
38
|
- !ruby/object:Gem::Dependency
|
39
39
|
name: sqlite3-ruby
|
40
|
-
requirement: &
|
40
|
+
requirement: &9313140 !ruby/object:Gem::Requirement
|
41
41
|
none: false
|
42
42
|
requirements:
|
43
43
|
- - ! '>='
|
@@ -45,10 +45,10 @@ dependencies:
|
|
45
45
|
version: '0'
|
46
46
|
type: :development
|
47
47
|
prerelease: false
|
48
|
-
version_requirements: *
|
48
|
+
version_requirements: *9313140
|
49
49
|
- !ruby/object:Gem::Dependency
|
50
50
|
name: actionpack
|
51
|
-
requirement: &
|
51
|
+
requirement: &9312540 !ruby/object:Gem::Requirement
|
52
52
|
none: false
|
53
53
|
requirements:
|
54
54
|
- - ! '>='
|
@@ -56,10 +56,10 @@ dependencies:
|
|
56
56
|
version: 3.0.0
|
57
57
|
type: :development
|
58
58
|
prerelease: false
|
59
|
-
version_requirements: *
|
59
|
+
version_requirements: *9312540
|
60
60
|
- !ruby/object:Gem::Dependency
|
61
61
|
name: bench_press
|
62
|
-
requirement: &
|
62
|
+
requirement: &9312020 !ruby/object:Gem::Requirement
|
63
63
|
none: false
|
64
64
|
requirements:
|
65
65
|
- - ! '>='
|
@@ -67,10 +67,10 @@ dependencies:
|
|
67
67
|
version: 0.3.1
|
68
68
|
type: :development
|
69
69
|
prerelease: false
|
70
|
-
version_requirements: *
|
70
|
+
version_requirements: *9312020
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
72
|
name: jeweler
|
73
|
-
requirement: &
|
73
|
+
requirement: &9311440 !ruby/object:Gem::Requirement
|
74
74
|
none: false
|
75
75
|
requirements:
|
76
76
|
- - ! '>='
|
@@ -78,7 +78,7 @@ dependencies:
|
|
78
78
|
version: '0'
|
79
79
|
type: :development
|
80
80
|
prerelease: false
|
81
|
-
version_requirements: *
|
81
|
+
version_requirements: *9311440
|
82
82
|
description: An awesome nested set implementation for Active Record
|
83
83
|
email: info@collectiveidea.com
|
84
84
|
executables: []
|
@@ -127,7 +127,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
127
127
|
version: '0'
|
128
128
|
segments:
|
129
129
|
- 0
|
130
|
-
hash:
|
130
|
+
hash: 814659255794792951
|
131
131
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
132
132
|
none: false
|
133
133
|
requirements:
|