module SimpleValidate::ClassMethods
Public Instance Methods
add_validations(args, klass)
click to toggle source
# File lib/simple_validate.rb, line 57 def add_validations(args, klass) options = Utils.extract_options! args args.each do |attr| validations << klass.new(attr, options) end end
method_missing(method, *args, &block)
click to toggle source
Calls superclass method
# File lib/simple_validate.rb, line 38 def method_missing(method, *args, &block) if respond_to?(method) add_validations(args, const_get(Utils.camelize(method))) else super end end
respond_to_missing?(method, include_private = false)
click to toggle source
Calls superclass method
# File lib/simple_validate.rb, line 46 def respond_to_missing?(method, include_private = false) method.to_s =~ /(validates_ (format| presence| type| inclusion| exclusion| length)_of) /x || super end
validate(instance)
click to toggle source
# File lib/simple_validate.rb, line 68 def validate(instance) instance.errors.clear! validations.each do |validation| if validation.condition.call && !validation.valid?(instance) instance.errors.add(validation.attribute, validation.message) end end instance.errors.empty? end
validations()
click to toggle source
# File lib/simple_validate.rb, line 64 def validations @validations ||= [] end