Module RailsERD::Diagram::Graphviz::Uml

  1. lib/rails_erd/diagram/graphviz.rb

Methods

public instance

  1. relationship_style

Included modules

  1. Simple

Public instance methods

relationship_style (relationship)
[show source]
# File lib/rails_erd/diagram/graphviz.rb, line 127
        def relationship_style(relationship)
          {}.tap do |options|
            options[:style] = :dotted if relationship.indirect?

            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