Class: PasswordStrengthValidator

Inherits:
ActiveModel::EachValidator
  • Object
show all
Defined in:
lib/stimulus_plumbers/password_strength_validator.rb

Overview

Top-level so validates :attr, password_strength: {...} resolves via Rails' symbol lookup.

Instance Method Summary collapse

Instance Method Details

#validate_each(record, attribute, value) ⇒ Object



7
8
9
10
11
12
13
# File 'lib/stimulus_plumbers/password_strength_validator.rb', line 7

def validate_each(record, attribute, value)
  requirements = options[:with] || build_requirements
  result = requirements.evaluate(value.to_s)
  return if result[:rules].any? && result[:rules].values.all?

  unmet_messages(requirements, result).each { |message| record.errors.add(attribute, message) }
end