class Minidoc::Counters::Incrementor

Attributes

field[R]
record[R]

Public Class Methods

new(record, field) click to toggle source
# File lib/minidoc/counters.rb, line 24
def initialize(record, field)
  @record = record
  @field = field
end

Public Instance Methods

increment(step_size = 1) click to toggle source
# File lib/minidoc/counters.rb, line 29
def increment(step_size = 1)
  result = record.class.collection.find_and_modify(
    query: { _id: record.id },
    update: { "$inc" => { field => step_size } },
    new: true,
  )

  result[field.to_s]
end