Module: Skr::Concerns::VisibleIdIdentifier::ClassMethods
- Defined in:
- lib/skr/concerns/visible_id_identifier.rb
Overview
### Visible ID Identifier Concern This adds the #has_visible_id class methods
Instance Method Summary collapse
-
#has_visible_id ⇒ Object
An auto-incrementing number that’s user-visible.
Instance Method Details
#has_visible_id ⇒ Object
An auto-incrementing number that’s user-visible. The visible_id is stored as an integer, but a string index is generated for querying by the sql like operator. The with_visible_id scope is available for this purpose
The next number an also be adjusted by the end-user by setting SequentialId so they can set the numbers to start at a specific point, which is useful for getting Invoice and other numbers to match up to a legacy system
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/skr/concerns/visible_id_identifier.rb', line 31 def has_visible_id include InstanceMethods validates :visible_id, :presence=>{ :message=>"ID was not set (should be automatically chosen)" } alias_attribute :record_identifier, :visible_id before_validation :assign_visible_id!, :on=>:create export_scope :with_visible_id, lambda{ | visid | if visid.to_s =~/%/ where( 'cast(visible_id as varchar) like ?', visid.to_s ) else where( 'cast(visible_id as varchar) = ?', visid.to_s ) end } end |