Class: Decidim::FriendlySignup::UserAttributeValidator
- Inherits:
-
Object
- Object
- Decidim::FriendlySignup::UserAttributeValidator
- Defined in:
- lib/decidim/friendly_signup/user_attribute_validator.rb
Instance Attribute Summary collapse
-
#attribute ⇒ Object
readonly
Returns the value of attribute attribute.
-
#form ⇒ Object
readonly
Returns the value of attribute form.
Instance Method Summary collapse
- #error ⇒ Object
- #errors ⇒ Object
-
#initialize(attribute:, form:) ⇒ UserAttributeValidator
constructor
A new instance of UserAttributeValidator.
- #input ⇒ Object
- #valid? ⇒ Boolean
Constructor Details
#initialize(attribute:, form:) ⇒ UserAttributeValidator
Returns a new instance of UserAttributeValidator.
6 7 8 9 |
# File 'lib/decidim/friendly_signup/user_attribute_validator.rb', line 6 def initialize(attribute:, form:) @attribute = attribute @form = form end |
Instance Attribute Details
#attribute ⇒ Object (readonly)
Returns the value of attribute attribute.
12 13 14 |
# File 'lib/decidim/friendly_signup/user_attribute_validator.rb', line 12 def attribute @attribute end |
#form ⇒ Object (readonly)
Returns the value of attribute form.
12 13 14 |
# File 'lib/decidim/friendly_signup/user_attribute_validator.rb', line 12 def form @form end |
Instance Method Details
#error ⇒ Object
32 33 34 35 36 37 38 39 40 41 |
# File 'lib/decidim/friendly_signup/user_attribute_validator.rb', line 32 def error return if valid? errors.map do |msg| key = find_key(msg) next if key == :nickname_included_in_password && FriendlySignup.hide_nickname.present? custom_error(key).presence || msg.upcase_first end.join(".<br>") end |
#errors ⇒ Object
28 29 30 |
# File 'lib/decidim/friendly_signup/user_attribute_validator.rb', line 28 def errors @errors ||= valid_attribute? ? form.errors[attribute] : ["Invalid attribute"] end |
#input ⇒ Object
24 25 26 |
# File 'lib/decidim/friendly_signup/user_attribute_validator.rb', line 24 def input @input ||= form.public_send(attribute).to_s.dup if valid_attribute? end |
#valid? ⇒ Boolean
14 15 16 17 18 19 20 21 22 |
# File 'lib/decidim/friendly_signup/user_attribute_validator.rb', line 14 def valid? @valid ||= begin form.validate # Check if the password isn't empty, if it is, add it to form errors form.errors.add(:password, :password_blank) if attribute == "password" && form.password.blank? # we don't validate the form but the attribute alone errors.blank? end end |