Class: Marty::NameValidator

Inherits:
ActiveModel::Validator
  • Object
show all
Defined in:
app/models/marty/name_validator.rb

Instance Method Summary collapse

Instance Method Details

#validate(entry) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
13
14
15
# File 'app/models/marty/name_validator.rb', line 2

def validate(entry)
  raise 'need field option' unless options[:field]

  field = options[:field].to_sym
  value = entry.send(field)

  return if value.nil?

  # disallow leading, trailing, >1 internal spaces, special chars (|)
  if value =~ /\A\s|\s\z|\A.*\s\s.*\z|.*\|.*/
    entry.errors[field] <<
      I18n.t('activerecord.errors.messages.extraneous_spaces')
  end
end