module Mongoid::Sequencer::ClassMethods
Public Instance Methods
next_sequence_value(field_name)
click to toggle source
# File lib/mongoid/sequencer.rb, line 13 def next_sequence_value(field_name) collection = ::Mongoid.default_session[:__sequence] counter_id = "#{self.name.underscore}_#{field_name}" collection.find( _id: counter_id ).modify( {'$inc' => {value: 1}}, new: true, upsert: true ).fetch('value') end
reset_sequence(field_name)
click to toggle source
# File lib/mongoid/sequencer.rb, line 24 def reset_sequence(field_name) collection = ::Mongoid.default_session[:__sequence] counter_id = "#{self.name.underscore}_#{field_name}" collection.find( _id: counter_id ).modify( {'$set' => {value: 0}}, new: true, upsert: true ).fetch('value') end
sequence(field_name)
click to toggle source
# File lib/mongoid/sequencer.rb, line 8 def sequence(field_name) field_name = field_name.to_s field field_name, default: lambda { self.class.next_sequence_value(field_name) } end