Sha256: 19c56c7aa2450af19629f452c48100e0bbfcf9bcc151fdc0555545287aa80e01
Contents?: true
Size: 821 Bytes
Versions: 6
Compression:
Stored size: 821 Bytes
Contents
module AssetCloud module Validations def self.included(base) base.extend ClassMethods base.class_eval do include AssetCloud::Callbacks alias_method_chain :store, :validation end end module ClassMethods def validate(*validations, &block) validations << block if block_given? write_inheritable_array(:validate, validations) end end def store_with_validation validate errors.empty? ? store_without_validation : false end def errors @errors ||= [] end def valid? validate errors.empty? end def add_error(msg) errors << msg errors.uniq! end def validate errors.clear execute_callbacks(:validate, []) end end end
Version data entries
6 entries across 6 versions & 2 rubygems