Module: ActiveRecord::Validations::ClassMethods
- Defined in:
- lib/validates_as_cep.rb,
lib/validates_as_cpf.rb,
lib/validates_as_cnpj.rb,
lib/validates_as_email.rb,
lib/validates_as_uf_br.rb,
lib/validates_as_website.rb,
lib/validates_as_phonenumber_br.rb
Instance Method Summary collapse
- #validates_as_cep(*attr_names) ⇒ Object
- #validates_as_cnpj(*attr_names) ⇒ Object
- #validates_as_cpf(*attr_names) ⇒ Object
- #validates_as_email(*attr_names) ⇒ Object
- #validates_as_phonenumber_br(*attr_names) ⇒ Object
- #validates_as_uf_br(*attr_names) ⇒ Object
- #validates_as_website(*attr_names) ⇒ Object
Instance Method Details
#validates_as_cep(*attr_names) ⇒ Object
4 5 6 7 8 9 10 11 12 |
# File 'lib/validates_as_cep.rb', line 4 def validates_as_cep(*attr_names) configuration = { :message => I18n.translate('activerecord.errors.messages.invalid', :default => 'invalid' ), :with => /\A(\d{5})([-]{0,1})(\d{3})\Z/, :allow_nil => true } configuration.update(attr_names.pop) if attr_names.last.is_a?(Hash) validates_format_of attr_names, configuration end |
#validates_as_cnpj(*attr_names) ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/validates_as_cnpj.rb', line 57 def validates_as_cnpj(*attr_names) configuration = { :message => I18n.translate('activerecord.errors.messages.invalid', :default => 'invalid' ), :allow_nil => true } configuration.update(attr_names.pop) if attr_names.last.is_a?(Hash) validates_each attr_names, configuration do |record, attribute, value| record.errors.add(attribute, configuration[:message]) if CNPJ.invalid?(value) end end |
#validates_as_cpf(*attr_names) ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/validates_as_cpf.rb', line 55 def validates_as_cpf(*attr_names) configuration = { :message => I18n.translate('activerecord.errors.messages.invalid', :default => 'invalid' ), :allow_nil => true } configuration.update(attr_names.pop) if attr_names.last.is_a?(Hash) validates_each attr_names, configuration do |record, attribute, value| record.errors.add(attribute, configuration[:message]) if CPF.invalid?(value) end end |
#validates_as_email(*attr_names) ⇒ Object
47 48 49 50 51 52 53 54 55 |
# File 'lib/validates_as_email.rb', line 47 def validates_as_email(*attr_names) configuration = { :message => I18n.translate('activerecord.errors.messages.invalid', :default => 'invalid' ), :with => RFC822::EmailAddress, :allow_nil => true } configuration.update(attr_names.pop) if attr_names.last.is_a?(Hash) validates_format_of attr_names, configuration end |
#validates_as_phonenumber_br(*attr_names) ⇒ Object
4 5 6 7 8 9 10 11 12 |
# File 'lib/validates_as_phonenumber_br.rb', line 4 def validates_as_phonenumber_br(*attr_names) configuration = { :message => I18n.translate('activerecord.errors.messages.invalid', :default => 'invalid' ), :with => /\A([1-9]{2})([- ]{0,1})(\d{3}|\d{4})([- ]{0,1})(\d{4})\Z/, :allow_nil => true } configuration.update(attr_names.pop) if attr_names.last.is_a?(Hash) validates_format_of attr_names, configuration end |
#validates_as_uf_br(*attr_names) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/validates_as_uf_br.rb', line 17 def validates_as_uf_br(*attr_names) configuration = { :message => I18n.translate('activerecord.errors.messages.invalid', :default => 'invalid' ), :allow_nil => true, :allow_down => true, :allow_up => true } configuration.update(attr_names.pop) if attr_names.last.is_a?(Hash) validates_each attr_names, configuration do |record, attribute, value| record.errors.add(attribute, configuration[:message]) if UF_BR.invalid?(value, configuration[:allow_up], configuration[:allow_down]) end end |
#validates_as_website(*attr_names) ⇒ Object
4 5 6 7 8 9 10 11 12 |
# File 'lib/validates_as_website.rb', line 4 def validates_as_website(*attr_names) configuration = { :message => I18n.translate('activerecord.errors.messages.invalid', :default => 'invalid' ), :with => /\A(http|https)[:]\/{2}[^\/.]+([.][^\/.]+)+.*\Z/i, :allow_nil => true } configuration.update(attr_names.pop) if attr_names.last.is_a?(Hash) validates_format_of attr_names, configuration end |