Module: RedisAssist::Validations::ClassMethods

Defined in:
lib/redis_assist/validations.rb

Instance Method Summary collapse

Instance Method Details

#validates_attributes(*attributes, &proc) ⇒ Object



42
43
44
45
46
47
48
49
50
# File 'lib/redis_assist/validations.rb', line 42

def validates_attributes(*attributes, &proc)
  options = attributes.last.is_a?(::Hash) ? attributes.pop : {}
  
  validations << Proc.new do |instance|
    attributes.each do |attribute|
      proc.call(instance, attribute, instance.__send__(attribute), options)
    end
  end
end

#validates_format_of(*attributes) ⇒ Object



36
37
38
39
40
# File 'lib/redis_assist/validations.rb', line 36

def validates_format_of(*attributes)
  validates_attributes(*attributes) do |instance, attribute, value, options|
    instance.add_error(attribute, "is invalid") unless value =~ options[:with]
  end
end

#validates_presence_of(*attributes) ⇒ Object



30
31
32
33
34
# File 'lib/redis_assist/validations.rb', line 30

def validates_presence_of(*attributes)
  validates_attributes(*attributes) do |instance, attribute, value, options|
    instance.add_error(attribute, "cant't be blank") if value.nil? || value.empty?
  end
end

#validationsObject



26
27
28
# File 'lib/redis_assist/validations.rb', line 26

def validations
  @validations ||= []
end