Sha256: 5a997ad7389f6a9721d190c773b0db7b5b61f1a18c1f597ec8317ab0db292008
Contents?: true
Size: 680 Bytes
Versions: 2
Compression:
Stored size: 680 Bytes
Contents
require "active_record/base" module DocumentNumber class Numerator # Gets next number for document def self.next_number(document, options) DocumentNumber.transaction(:requires_new => true) do if ActiveRecord::VERSION::MAJOR < 4 document_number = DocumentNumber.lock(true).find_or_initialize_by_document(document) else document_number = DocumentNumber.lock(true).find_or_initialize_by(:document => document) end number = document_number.number == 1 ? options[:start] : document_number.number document_number.number = number + 1 document_number.save! number end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
document_number-0.10.0 | lib/document_number/numerator.rb |
document_number-0.9.6 | lib/document_number/numerator.rb |