Class: NextSges::ApplicationRecord
- Inherits:
-
ApplicationRecord
- Object
- ApplicationRecord
- NextSges::ApplicationRecord
- Defined in:
- app/models/next_sges/application_record.rb
Direct Known Subclasses
Administrator, CollectionNote, CollectionNoteItem, CollectionType, Deposit, Inscription, Parent, ResponsibleOther, School, SchoolAdmin, Student
Constant Summary collapse
- MAIL_REGEX =
/\A[a-z0-9._%+-]+@[a-z0-9._%+-].[a-z0-9._%+-]/i
- CELL_REGEX =
/[[:digit:]]{9}/
- DEFAULT_STATUS_ENUM =
{active: 0, inactive: 1}
- DEFAULT_IDENTIFICATION_ENUM =
{identification: 0, passport: 2}
Class Method Summary collapse
Instance Method Summary collapse
-
#create_number ⇒ Object
creates a sequencial number.
-
#create_number! ⇒ Object
creates a number and safes object after.
Class Method Details
.map_for_filter(map_method = :number) ⇒ Object
29 30 31 |
# File 'app/models/next_sges/application_record.rb', line 29 def self.map_for_filter(map_method = :number) map_for_select(map_method) end |
.map_for_select(map_method = :number) ⇒ Object
25 26 27 |
# File 'app/models/next_sges/application_record.rb', line 25 def self.map_for_select(map_method = :number) all.map{|f| [f.send(map_method), f.id]} end |
Instance Method Details
#create_number ⇒ Object
creates a sequencial number
11 12 13 14 15 16 17 18 |
# File 'app/models/next_sges/application_record.rb', line 11 def create_number allowed_classess = [NextSges::Parent, NextSges::Student, NextSges::School, NextSges::Deposit, NextSges::Administrator, NextSges::SchoolAdmin, NextSges::CollectionNote, NextSges::ResponsibleOther].map(&:name) this_class = self.class.name return nil unless allowed_classess.include?(this_class) i = self.class.all.map{|i| i.number.to_s.gsub(/\D/, '').to_i}.compact.sort.last || 0 i = i + 1 self.number = "#{self.class::INITIAL_LETTER}#{i.to_s.rjust(8, '0')}" end |
#create_number! ⇒ Object
creates a number and safes object after
21 22 23 |
# File 'app/models/next_sges/application_record.rb', line 21 def create_number! self.save unless self.create_number.nil? end |