Class: Mongoid::List::Collection
Instance Attribute Summary
Attributes inherited from Abstract
#obj
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Abstract
#changes, #conditions, #initialize
Class Method Details
.update_positions!(klass, elements) ⇒ Object
9
10
11
12
13
14
|
# File 'lib/mongoid/list/collection.rb', line 9
def update_positions!(klass, elements)
elements.each_with_index do |element, idx|
id = element.kind_of?(Hash) ? element['id'] : element
klass.collection.update({ _id: id }, { '$set' => { position: (idx + 1) } })
end
end
|
Instance Method Details
#count ⇒ Object
27
28
29
|
# File 'lib/mongoid/list/collection.rb', line 27
def count
obj.class.where(conditions).count
end
|
#update_positions! ⇒ Object
19
20
21
22
23
24
25
|
# File 'lib/mongoid/list/collection.rb', line 19
def update_positions!
obj.class.collection.update(
criteria,
{ '$inc' => { position: changes[:by] } },
multi: true
)
end
|