nobrainer-tree 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/nobrainer/tree.rb +1 -3
- data/lib/nobrainer/tree/ordering.rb +2 -3
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8b0da9c069f27d701c609229cb9314bb700bd7b0
|
4
|
+
data.tar.gz: acd265d5bb336c210235e4dbc9a254fb16f28680
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 61d96c610a56e8b9358ee506118125d16a4b6c8564462c6a38e5b8a3ed721e921f684356610befd7f71d08e247b923320ed3efe4098faab683d00314f605dbea
|
7
|
+
data.tar.gz: fd9d8dcee8cc0d7e2cbd7c490e7fcacc9f7c98bc545dc7b6e09bee97e948619921fdafa4b8bdebb1949c0ff2e200bcf774e959ac1440a59d04dc37c1c977d810
|
data/lib/nobrainer/tree.rb
CHANGED
@@ -86,8 +86,6 @@ module NoBrainer
|
|
86
86
|
|
87
87
|
included do
|
88
88
|
has_many :children, :class_name => self.name, :foreign_key => :parent_id
|
89
|
-
|
90
|
-
# TODO: Use index when nil is allowed in index queries
|
91
89
|
belongs_to :parent, :class_name => self.name
|
92
90
|
|
93
91
|
field :parent_ids, :type => Array, :default => []
|
@@ -132,7 +130,7 @@ module NoBrainer
|
|
132
130
|
#
|
133
131
|
# @return [NoBrainer::Criteria] NoBrainer criteria to retrieve all root documents
|
134
132
|
def roots
|
135
|
-
where(:parent_id => nil)
|
133
|
+
where(:or => [:parent_id.defined => false, :parent_id => nil])
|
136
134
|
end
|
137
135
|
|
138
136
|
##
|
@@ -35,7 +35,7 @@ module NoBrainer
|
|
35
35
|
included do
|
36
36
|
field :position, :type => Integer
|
37
37
|
|
38
|
-
default_scope -> { order_by(:position => :asc) }
|
38
|
+
default_scope -> { order_by(:depth => :asc, :position => :asc) }
|
39
39
|
|
40
40
|
before_save :assign_default_position, :if => :assign_default_position?
|
41
41
|
before_save :reposition_former_siblings, :if => :sibling_reposition_required?
|
@@ -44,7 +44,6 @@ module NoBrainer
|
|
44
44
|
|
45
45
|
def inc(increments)
|
46
46
|
update(increments.symbolize_keys.map{ |field, value| { field => (self[field] || 0) + value } }.first)
|
47
|
-
self
|
48
47
|
end
|
49
48
|
|
50
49
|
##
|
@@ -52,7 +51,7 @@ module NoBrainer
|
|
52
51
|
#
|
53
52
|
# @return [NoBrainer::Criteria] NoBrainer criteria to retrieve the document's ancestors
|
54
53
|
def ancestors
|
55
|
-
base_class.unscoped.
|
54
|
+
base_class.without_index.unscoped.where(:id.in => self.parent_ids).order_by(:depth => :asc)
|
56
55
|
end
|
57
56
|
|
58
57
|
##
|