Class: Mongoid::List::Collection

Inherits:
Abstract
  • Object
show all
Defined in:
lib/mongoid/list/collection.rb

Instance Attribute Summary

Attributes inherited from Abstract

#obj

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Abstract

#changes, #conditions, #initialize

Constructor Details

This class inherits a constructor from Mongoid::List::Abstract

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

#countObject



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