module DBDiagram::Diagram::Graphviz::Uml

Public Instance Methods

relationship_style(relationship) click to toggle source
# File lib/db_diagram/diagram/graphviz.rb, line 160
def relationship_style(relationship)
  {}.tap do |options|
    # options[:style] = :dotted #虚线

    options[:arrowsize] = 0.7
    options[:arrowhead] = relationship.to_many? ? "vee" : "none"
    options[:arrowtail] = relationship.many_to? ? "vee" : "none"

    ranges = [relationship.cardinality.destination_range, relationship.cardinality.source_range].map do |range|
      if range.min == range.max
        "#{range.min}"
      else
        "#{range.min}..#{range.max == Domain::Relationship::N ? "∗" : range.max}"
      end
    end
    options[:headlabel], options[:taillabel] = *ranges
  end
end