5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/mermaid_rails_erd/association_resolver.rb', line 5
def resolve(assoc)
if assoc.respond_to?(:table_name)
begin
table_name = assoc.table_name
rescue StandardError
table_name = nil
end
end
table_name ||= if assoc.options[:table_name]
assoc.options[:table_name].to_s
else
assoc.plural_name.to_s
end
return nil unless ActiveRecord::Base.connection.table_exists?(table_name)
{
table_name: table_name,
primary_key: ActiveRecord::Base.connection.primary_key(table_name),
}
end
|