Class: RailsERD::Domain::Relationship

Inherits:
Object
  • Object
show all
Defined in:
lib/verd/rails_erd_domain_relationship.rb

Constant Summary collapse

NoneSym =
'none'
HasManySym =
'rect'
HasOneSym =
'triangle'

Instance Method Summary collapse

Instance Method Details



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/verd/rails_erd_domain_relationship.rb', line 9

def verd_link
  src, tar, macro = nil, nil, nil

  associations.each do |asso|
    if asso.macro == :has_many
      src, tar, macro = asso.active_record.to_s, asso.klass.to_s, :has_many
      break
    elsif asso.macro == :has_one
      src, tar, macro = asso.active_record.to_s, asso.klass.to_s, :has_one
    else
      break if macro
      src, tar, macro = asso.klass.to_s, asso.active_record.to_s, :has_many
    end
  end

  sym = macro == :has_many ? HasManySym : HasOneSym
  {source: src, target: tar, macro: macro, symbol: [NoneSym, sym]}
end