Module: Validatable::ClassMethods

Defined in:
lib/validatable_class_methods.rb

Overview

:nodoc:

Instance Method Summary collapse

Instance Method Details

#add_error(instance, attribute, msg) ⇒ Object



47
48
49
# File 'lib/validatable_class_methods.rb', line 47

def add_error(instance, attribute, msg)
  instance.errors.add(attribute, msg)
end

#all_before_validationsObject



25
26
27
28
29
30
# File 'lib/validatable_class_methods.rb', line 25

def all_before_validations
  if self.superclass.respond_to? :all_before_validations
    return before_validations + self.superclass.all_before_validations 
  end
  before_validations
end

#all_validationsObject



36
37
38
39
40
41
# File 'lib/validatable_class_methods.rb', line 36

def all_validations
  if self.respond_to?(:superclass) && self.superclass.respond_to?(:all_validations)
    return validations + self.superclass.all_validations 
  end
  validations
end

#before_validationsObject



32
33
34
# File 'lib/validatable_class_methods.rb', line 32

def before_validations
  @before_validations ||= []
end

#validate_children(instance, group) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/validatable_class_methods.rb', line 4

def validate_children(instance, group)
  self.children_to_validate.each do |child_validation|
    next unless child_validation.should_validate?(instance)
    child = instance.send child_validation.attribute
    if (child.respond_to?(:valid_for_group?))
      child.valid_for_group?(group)
    else
      child.valid?
    end
    child.errors.each do |attribute, messages|
      if messages.is_a?(String)
        add_error(instance, child_validation.map[attribute.to_sym] || attribute, messages)
      else
        messages.each do |message|
          add_error(instance, child_validation.map[attribute.to_sym] || attribute, message)
        end
      end
    end
  end
end

#validation_keys_include?(key) ⇒ Boolean

Returns:

  • (Boolean)


51
52
53
# File 'lib/validatable_class_methods.rb', line 51

def validation_keys_include?(key)
  validations.map { |validation| validation.key }.include?(key)
end

#validationsObject



43
44
45
# File 'lib/validatable_class_methods.rb', line 43

def validations
  @validations ||= []
end

#validations_to_includeObject



55
56
57
# File 'lib/validatable_class_methods.rb', line 55

def validations_to_include
  @validations_to_include ||= []
end