aboutsummaryrefslogblamecommitdiffstats
path: root/activerecord/test/models/vertex.rb
blob: 0ad8114898c1b7ae569c53bd79d996b37f214d18 (plain) (tree)
1
2
3
4
5
6
7
8
9
10

                             

                                                 

                                                                    

                                   

                                                                
   
# frozen_string_literal: true

# This class models a vertex in a directed graph.
class Vertex < ActiveRecord::Base
  has_many :sink_edges, class_name: "Edge", foreign_key: "source_id"
  has_many :sinks, through: :sink_edges

  has_and_belongs_to_many :sources,
    class_name: "Vertex", join_table: "edges",
    foreign_key: "sink_id", association_foreign_key: "source_id"
end