glebtv-mongoid_nested_set 0.4.2 → 0.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.
- checksums.yaml +4 -4
- data/lib/mongoid_nested_set/rebuild.rb +7 -1
- data/lib/mongoid_nested_set/version.rb +1 -1
- data/spec/mongoid_nested_set_spec.rb +20 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0e1e7293361d84a09bef083837a25965156e79ea
|
|
4
|
+
data.tar.gz: 0f88693f2a679bf73cbd4b4960afbd6ff6c78aff
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 986372406b76254d3f874b7f1c0ba3c8a13002049d4c4b2d19858c8c6afc7d99c7d7c1fb0db303263b55b8fecc12e9064e2d1f441fc3c7a584cc00a32c569445
|
|
7
|
+
data.tar.gz: bb7b734fdabd023dd5fd1339813b5d55004476068040ef94fbb1c78d8421db9195d92418a29fdc9147300c41d416abdbf416d5cf7b49276003ab5f5c3d31b50e
|
|
@@ -28,8 +28,14 @@ module Mongoid::Acts::NestedSet
|
|
|
28
28
|
)
|
|
29
29
|
end
|
|
30
30
|
|
|
31
|
+
# scope rebuild for specified node
|
|
32
|
+
tree_scope = self.where(parent_field_name => nil)
|
|
33
|
+
if acts_as_nested_set_options[:scope] && options[:scope]
|
|
34
|
+
tree_scope = tree_scope.where( acts_as_nested_set_options[:scope] => options[:scope] )
|
|
35
|
+
end
|
|
36
|
+
|
|
31
37
|
# Find root node(s)
|
|
32
|
-
root_nodes =
|
|
38
|
+
root_nodes = tree_scope.asc(left_field_name).asc(right_field_name).asc(:_id).each do |root_node|
|
|
33
39
|
# setup index for this scope
|
|
34
40
|
indices[scope.call(root_node)] ||= 0
|
|
35
41
|
set_left_and_rights.call(root_node)
|
|
@@ -666,7 +666,7 @@ describe "A Mongoid::Document" do
|
|
|
666
666
|
|
|
667
667
|
context "in an adjaceny list tree" do
|
|
668
668
|
before(:each) do
|
|
669
|
-
@nodes = create_clothing_nodes(
|
|
669
|
+
@nodes = create_clothing_nodes.merge(create_electronics_nodes)
|
|
670
670
|
@nodes.each_value { |node| node.test_set_attributes(:rgt => nil) }
|
|
671
671
|
persist_nodes(@nodes)
|
|
672
672
|
end
|
|
@@ -684,6 +684,25 @@ describe "A Mongoid::Document" do
|
|
|
684
684
|
@nodes[:skirts] .reload.should have_nestedset_pos(17, 18)
|
|
685
685
|
end
|
|
686
686
|
|
|
687
|
+
it "can rebuild nested set properties for specified scope" do
|
|
688
|
+
Node.rebuild!( scope: 2 )
|
|
689
|
+
|
|
690
|
+
root = Node.where( root_id: 1 ).root
|
|
691
|
+
root.should be_a(Node)
|
|
692
|
+
root.rgt.should == nil
|
|
693
|
+
|
|
694
|
+
root = Node.where( root_id: 2 ).root
|
|
695
|
+
root.should be_a(Node)
|
|
696
|
+
root.name.should == 'Electronics'
|
|
697
|
+
|
|
698
|
+
@nodes[:electronics].reload.should have_nestedset_pos( 1, 20)
|
|
699
|
+
@nodes[:televisions].reload.should have_nestedset_pos( 2, 9)
|
|
700
|
+
@nodes[:tube] .reload.should have_nestedset_pos( 3, 4)
|
|
701
|
+
@nodes[:portable] .reload.should have_nestedset_pos(10, 19)
|
|
702
|
+
@nodes[:mp3] .reload.should have_nestedset_pos(11, 14)
|
|
703
|
+
@nodes[:flash] .reload.should have_nestedset_pos(12, 13)
|
|
704
|
+
end
|
|
705
|
+
|
|
687
706
|
end
|
|
688
707
|
end
|
|
689
708
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: glebtv-mongoid_nested_set
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.4.
|
|
4
|
+
version: 0.4.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- GlebTV
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2014-02
|
|
12
|
+
date: 2014-04-02 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: mongoid
|