Class: ForeignKeyValidation::Validator

Inherits:
Object
  • Object
show all
Defined in:
lib/foreign_key_validation/validator.rb

Class Method Summary collapse

Class Method Details

.validate(opt = {}) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
# File 'lib/foreign_key_validation/validator.rb', line 5

def self.validate(opt={})
  validate_against_key, reflection_names, object = opt[:validate_against_key], opt[:reflection_names], opt[:object]

  reflection_names.each do |reflection_name|
    next if object.send(reflection_name).try(validate_against_key).nil? or object.try(validate_against_key).nil?

    if object.send(reflection_name).send(validate_against_key) != object.send(validate_against_key)
      object.errors.add(validate_against_key, "#{validate_against_key} of #{reflection_name} does not match #{object.class.name.tableize} #{validate_against_key}.")
    end
  end
end