tracks/app/models/dependency.rb
Matt Rogers 0e21d64890
Convert to ApplicationRecord
Rails 5 requires the use of this superclass for all database backed
model objects now.
2018-11-03 15:57:14 -05:00

17 lines
606 B
Ruby

class Dependency < ApplicationRecord
# touch to make sure todo caches for predecessor and successor are invalidated
belongs_to :predecessor, :foreign_key => 'predecessor_id', :class_name => 'Todo', :touch => true
belongs_to :successor, :foreign_key => 'successor_id', :class_name => 'Todo', :touch => true
validate :check_circular_dependencies
def check_circular_dependencies
unless predecessor.nil? or successor.nil?
errors.add("Depends on:", "Adding '#{successor.specification}' would create a circular dependency") if successor.is_successor?(predecessor)
end
end
end