module Validatable
Public Instance Methods
validates(attribute, options)
click to toggle source
# File lib/activeleopard/modules/validatable.rb, line 2 def validates(attribute, options) method_name = "validate_#{attribute}" define_method(method_name) do attr_val = self.send(attribute) if options[:presence] if attr_val.nil? errors[attribute] << "can't be blank" end end if options[:uniqueness] matching_obj = self.class.find_by(attribute => attr_val) unless matching_obj.nil? || matching_obj.id == self.id errors[attribute] << "must be unique" end end end self.validations << method_name end