Document Number
Document Number lets you automacally assign number sequences for your rails models.
Installation
Rails 3 & 4
-
Add Document Number to your
Gemfilegem 'document_number', '~> 0.10.0' -
Generate a migration which will add a
document_numberstable to your databasebundle exec rails generate document_numbers:install -
Run the migration
bundle exec rake db:migrate -
Declare
has_document_numberin your model to automatic document number assignment:
class Invoice < ActiveRecord::Base
has_document_number
endConfiguring Document Number
Document Number has several configuration options, which you can configure, both globally and on a per-model basis:
# config/initializers/document_number.rb
DocumentNumber.prefix = 'server/'Or alternatively:
class Invoice < ActiveRecord::Base
has_document_number prefix: 'server/', start: 5000
endAvailable options:
| Option | Description |
|---|---|
| column | The column name to update. Default value is :number
|
| prefix | The prefix for number |
| start | The start value for number. Default is 1 |
Usage
Get number after initialization
Document Number automacally assigns number when you saving your model. If you want to create number just after initialization use :with_number attribute:
Invoice.new with_number: truePreserve numbers
If you want to get a bunch of numbers use model method get_numbers:
irb(main):001>Invoice.get_numbers(3)
=> ['server/1', 'server/2', 'server/3']Contribute
Feel free to add any new features or fix bugs by creating a new pull request to this repository
Run tests
bundle exec rspec