Module: Dagnabit::Vertex::Associations

Includes:
Settings
Defined in:
lib/dagnabit/vertex/associations.rb

Overview

Associates a vertex with its edges.

Instance Attribute Summary

Attributes included from Settings

#edge_model_name

Instance Method Summary collapse

Methods included from Settings

#edge_model, #edge_table, #inherited

Instance Method Details

#connected_by(*args) ⇒ void

This method returns an undefined value.

An override of Settings#connected_by that installs ‘has_many` associations named `in_edges` and `out_edges` on a vertex model.

‘in_edges` is the collection of edges that flow into a vertex; `out_edges` is the collection of edges that flow _out of_ a vertex.



17
18
19
20
21
22
# File 'lib/dagnabit/vertex/associations.rb', line 17

def connected_by(*args)
  super

  has_many :in_edges,  :class_name => edge_model_name, :foreign_key => 'child_id',  :dependent => :destroy
  has_many :out_edges, :class_name => edge_model_name, :foreign_key => 'parent_id', :dependent => :destroy
end