Class: DocumentNumber::Numerator
- Inherits:
-
Object
- Object
- DocumentNumber::Numerator
- Defined in:
- lib/document_number/numerator.rb
Class Method Summary collapse
-
.next_number(document, options) ⇒ Object
Gets next number for document.
Class Method Details
.next_number(document, options) ⇒ Object
Gets next number for document
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/document_number/numerator.rb', line 6 def self.next_number(document, ) 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 ? [:start] : document_number.number document_number.number = number + 1 document_number.save! number end end |