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



29
30
31
# File 'lib/validatable_class_methods.rb', line 29

def add_error(instance, attribute, msg)
  instance.errors.add(attribute, msg)
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)


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

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

#validationsObject



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

def validations
  @validations ||= []
end