module Xeroizer::Record::ValidationHelper::ClassMethods

Public Instance Methods

validates(*args, &block) click to toggle source
# File lib/xeroizer/record/validation_helper.rb, line 40
def validates(*args, &block)
  fail "Block required" unless block_given?

  if args.last.is_a? Hash
    args.last[:block] = block
  else
    args << { :block => block }
  end

  validates_with_validator(Validator::BlockValidator, args)
end
validates_associated(*args) click to toggle source
# File lib/xeroizer/record/validation_helper.rb, line 24
def validates_associated(*args)
  validates_with_validator(Validator::AssociatedValidator, args)
end
validates_inclusion_of(*args) click to toggle source
# File lib/xeroizer/record/validation_helper.rb, line 28
def validates_inclusion_of(*args)
  validates_with_validator(Validator::InclusionOfValidator, args)
end
validates_length_of(*args) click to toggle source
# File lib/xeroizer/record/validation_helper.rb, line 36
def validates_length_of(*args)
  validates_with_validator(Validator::LengthOfValidator, args)
end
validates_presence_of(*args) click to toggle source
# File lib/xeroizer/record/validation_helper.rb, line 32
def validates_presence_of(*args)
  validates_with_validator(Validator::PresenceOfValidator, args)
end
validates_with_validator(validator, args) click to toggle source

Adds a validator config for each attribute specified in args.

# File lib/xeroizer/record/validation_helper.rb, line 15
def validates_with_validator(validator, args)
  options = args.extract_options!
  
  self.validators ||= []
  args.flatten.each do | attribute |
    self.validators << validator.new(attribute, options)
  end
end