Sha256: 67c8f28dc563cd8df7f9cd5d73f607b1fd9c32a0a071190f77367911e071ca32

Contents?: true

Size: 469 Bytes

Versions: 1

Compression:

Stored size: 469 Bytes

Contents

require "active_record/base"

module DocumentNumber
  class Numerator
    def self.next_number(object, options)
      DocumentNumber.transaction do
        document_number = DocumentNumber.lock(true).find_or_initialize_by(document: object.class.to_s.underscore)

        document_number.number = options[:start] if document_number.number == 0
        document_number.number += 1
        document_number.save!

        document_number.number
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
document_number-0.0.1 lib/document_number/numerator.rb