Class: Tag::Validator
- Inherits:
-
ActiveModel::Validator
- Object
- ActiveModel::Validator
- Tag::Validator
- Defined in:
- lib/ecrire/app/models/tag.rb
Instance Method Summary collapse
- #validate(record) ⇒ Object
- #validate_presence!(record) ⇒ Object
- #validate_uniqueness!(record) ⇒ Object
Instance Method Details
#validate(record) ⇒ Object
3 4 5 6 |
# File 'lib/ecrire/app/models/tag.rb', line 3 def validate(record) validate_presence! record validate_uniqueness! record end |
#validate_presence!(record) ⇒ Object
8 9 10 11 12 13 14 15 16 |
# File 'lib/ecrire/app/models/tag.rb', line 8 def validate_presence!(record) if record.name.blank? msg = "Your tag can't be blank." record.errors['name'] << msg elsif record.name.length < 1 msg = "Your tag needs to be at least 1 character long." record.errors['name'] << msg end end |
#validate_uniqueness!(record) ⇒ Object
18 19 20 21 22 23 24 25 |
# File 'lib/ecrire/app/models/tag.rb', line 18 def validate_uniqueness!(record) tag = Tag.where('tags.name = ?', record.name).first unless tag.nil? msg = "You already have a tag with this name: #{tag.name}" record.errors['uniqueness'] << msg return end end |