class WipeOut::Validators::DefinedRelations
Public Instance Methods
call()
click to toggle source
# File lib/wipe_out/validators/defined_relations.rb, line 4 def call return if ignored? ar_class.reflect_on_all_associations.each do |relation| unless indirect_relation?(relation) || ignore_relation?(relation) || plan.relations[relation.name].present? result.add_error("#{ar_class.name} relation is missing: :#{relation.name}") end end end
Private Instance Methods
ignore_relation?(relation)
click to toggle source
# File lib/wipe_out/validators/defined_relations.rb, line 21 def ignore_relation?(relation) plan.ignored.include?(relation.name) || config.ignored_attributes.include?(relation.name) end
indirect_relation?(relation)
click to toggle source
# File lib/wipe_out/validators/defined_relations.rb, line 16 def indirect_relation?(relation) [ActiveRecord::Reflection::ThroughReflection, ActiveRecord::Reflection::BelongsToReflection] .include?(relation.class) end