module Preform::Validatable
Public Instance Methods
assert(predicate, key, msg)
click to toggle source
# File lib/preform.rb, line 31 def assert(predicate, key, msg) return if predicate errors[key.to_sym] << msg false # Allows assertations to be nested. end
default_errors()
click to toggle source
# File lib/preform.rb, line 23 def default_errors Hash.new { |hash, key| hash[key] = [] } end
errors()
click to toggle source
# File lib/preform.rb, line 13 def errors unless defined?(@errors) @errors = default_errors validate end @errors end
merge_errors!(other)
click to toggle source
# File lib/preform.rb, line 27 def merge_errors!(other) errors.merge!(other.errors) end
valid?()
click to toggle source
# File lib/preform.rb, line 9 def valid? errors.empty? end
validate()
click to toggle source
# File lib/preform.rb, line 5 def validate raise NotImplementedError, "validate must be implemented on #{self.class}" end