module Validacity::Validatable
Public Instance Methods
new(resource)
click to toggle source
Calls superclass method
# File lib/validacity/validatable.rb, line 14 def new(resource) instance = super instance.validacity_validations.merge(validacity_validations.dup) instance end
valid?(context = nil)
click to toggle source
Calls superclass method
# File lib/validacity/validatable.rb, line 25 def valid?(context = nil) super validacity_validations_run(context) errors.empty? end
validacity_validations()
click to toggle source
# File lib/validacity/validatable.rb, line 10 def validacity_validations @_validacity_validations ||= Set.new end
validations(*names)
click to toggle source
# File lib/validacity/validatable.rb, line 6 def validations(*names) names.each { |n| validacity_validations << n } end
Private Instance Methods
each_validation_instance() { |validation| ... }
click to toggle source
# File lib/validacity/validatable.rb, line 37 def each_validation_instance @_validacity_validations_instances ||= {} validacity_validations.each do |name| unless (validation = @_validacity_validations_instances[name]) validation = Validacity.find_validation(name).new(self) @_validacity_validations_instances[name] = validation end yield(validation) end end
validacity_validations_run(_context = nil)
click to toggle source
# File lib/validacity/validatable.rb, line 33 def validacity_validations_run(_context = nil) each_validation_instance(&:validate) end