class Datum::FormValidator::Attribute
Attributes
errors[RW]
form[RW]
name[RW]
validations[RW]
value[RW]
Public Class Methods
new(attrs = {})
click to toggle source
# File lib/datum/form_validator/entities/attribute.rb, line 12 def initialize(attrs = {}) @name = attrs[:name] @value = attrs[:value] @validations = attrs.fetch(:validations, []) end
Public Instance Methods
valid?()
click to toggle source
# File lib/datum/form_validator/entities/attribute.rb, line 18 def valid? validate! true rescue ValidationError false end
Private Instance Methods
validate!()
click to toggle source
# File lib/datum/form_validator/entities/attribute.rb, line 27 def validate! @errors = validations .map { |validation| validation.call(name, value) } .delete_if(&:empty?) raise ValidationError unless errors.empty? end