Sha256: 01c76e530ad69eef6a189ff31adb1898c23b5be04633768489c692a830ca237f
Contents?: true
Size: 984 Bytes
Versions: 2
Compression:
Stored size: 984 Bytes
Contents
require 'valcro/error' require 'valcro/error_list' require 'valcro/runner' module Valcro def self.included(base) base.extend ClassMethods end def errors @error_list ||= Valcro::ErrorList.new end def valid? !errors.any? end def error_messages errors.to_s end def validate errors.clear! self.class.validators.each do |validator_class| validation_runner.add_validator validator_class.new(self) end self.class.validation_blocks.each do |validation_block| instance_eval(&validation_block) end validation_runner.validate end def validation_runner @validation_runner ||= Valcro::Runner.new(errors) end module ClassMethods def validates_with(validator_class) validators << validator_class end def validators @validators ||= [] end def validation_blocks @validation_blocks ||= [] end def validate(&block) validation_blocks << block end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
valcro-0.1.1 | lib/valcro.rb |
valcro-0.1 | lib/valcro.rb |