Sha256: 00458ae0ea5efa0923191d2349de6c8653d1dc7251ca0f96bf0de34f965706d1
Contents?: true
Size: 960 Bytes
Versions: 9
Compression:
Stored size: 960 Bytes
Contents
module VirtualBox class AbstractModel # Provides validation methods for a class. Unlike ActiveRecord, # validations are instance-level rather than class-level. module Validatable def errors @errors ||= {} end def add_error(field, error) errors[field] ||= [] errors[field].push(error) end def clear_errors @errors = {} end def valid? validate errors.empty? end # Subclasses should override this method. def validate true end def validates_presence_of(field) if field.is_a?(Array) field.map { |v| validates_presence_of(v) }.all? { |v| v == true } else value = send(field) if value.nil? || value == "" add_error(field, "must not be blank.") return false else return true end end end end end end
Version data entries
9 entries across 9 versions & 1 rubygems