Class: CrazyValidators::WordCountValidator
- Inherits:
-
ActiveModel::Validations::LengthValidator
- Object
- ActiveModel::Validations::LengthValidator
- CrazyValidators::WordCountValidator
- Defined in:
- lib/crazy_validators/word_count_validator.rb
Constant Summary collapse
- MESSAGES =
{ :is => :word_wrong_length, :minimum => :word_too_short, :maximum => :word_too_long }.freeze
Instance Method Summary collapse
-
#validate_each(record, attribute, value) ⇒ Object
Copy of ActiveModel::Validations::LengthValidator.
Instance Method Details
#validate_each(record, attribute, value) ⇒ Object
Copy of ActiveModel::Validations::LengthValidator
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/crazy_validators/word_count_validator.rb', line 8 def validate_each(record, attribute, value) value = word_tokenizer(value) if value.kind_of?(String) CHECKS.each do |key, validity_check| next unless check_value = [key] value ||= [] if key == :maximum value_length = value.respond_to?(:length) ? value.length : value.to_s.length next if value_length.send(validity_check, check_value) = .except(*RESERVED_OPTIONS) [:count] = check_value = [MESSAGES[key]] [:message] ||= if record.errors.add(attribute, MESSAGES[key], ) end end |