class AgeValidator
Public Class Methods
default_options()
click to toggle source
# File lib/age_validator.rb 14 def self.default_options 15 @@default_options 16 end
minimum_age(options = {})
click to toggle source
# File lib/age_validator.rb 4 def self.minimum_age(options = {}) 5 options = default_options.merge(options) 6 7 options[:minimum] || 18 8 end
valid?(value, options = {})
click to toggle source
# File lib/age_validator.rb 10 def self.valid?(value, options = {}) 11 (Date.new(1900)..Time.now.years_ago(minimum_age(options)).to_date).cover? value 12 end
Public Instance Methods
validate_each(record, attribute, value)
click to toggle source
# File lib/age_validator.rb 18 def validate_each(record, attribute, value) 19 options = @@default_options.merge(self.options) 20 21 unless self.class.valid?(value, self.options) 22 record.errors.add(attribute, options[:message] || :invalid) 23 end 24 end