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)
  load_list_elements(klass, elements).each_with_index do |element, idx|
    klass.collection.update({ _id: element.id }, { '$set' => { position: (idx + 1) } })
  end
  # return false if elements.size < klass.count
end

Instance Method Details

#countObject



36
37
38
# File 'lib/mongoid/list/collection.rb', line 36

def count
  obj.class.where(conditions).count
end

#update_positions!Object



28
29
30
31
32
33
34
# File 'lib/mongoid/list/collection.rb', line 28

def update_positions!
  obj.class.collection.update(
    criteria,
    { '$inc' => { position: changes[:by] } },
    multi: true
  )
end