Module: YUML::Relationship

Defined in:
lib/yuml/relationship.rb

Overview

Represents UML class relationships

Class Method Summary collapse

Class Method Details

.aggregation(*args) ⇒ Object



18
19
20
# File 'lib/yuml/relationship.rb', line 18

def aggregation(*args)
  "+#{association(*args)}>"
end

.association(*args) ⇒ Object



30
31
32
33
34
# File 'lib/yuml/relationship.rb', line 30

def association(*args)
  args.flatten!
  return "-#{args.first}" if args.size == 1
  "#{args.first}-#{args.last}"
end

.composition(*args) ⇒ Object



14
15
16
# File 'lib/yuml/relationship.rb', line 14

def composition(*args)
  "++#{association(*args)}>"
end

.dependency(*args) ⇒ Object



36
37
38
39
40
# File 'lib/yuml/relationship.rb', line 36

def dependency(*args)
  args.flatten!
  return "-.-#{args.first}>" if args.size == 1
  "#{args.first}-.-#{args.last}>"
end

.directed_assoication(*args) ⇒ Object



26
27
28
# File 'lib/yuml/relationship.rb', line 26

def directed_assoication(*args)
  "#{association(*args)}>"
end

.inheritanceObject



6
7
8
# File 'lib/yuml/relationship.rb', line 6

def inheritance
  '^-'
end

.interfaceObject



10
11
12
# File 'lib/yuml/relationship.rb', line 10

def interface
  '^-.-'
end

.two_way_association(*args) ⇒ Object



22
23
24
# File 'lib/yuml/relationship.rb', line 22

def two_way_association(*args)
  "<#{association(*args)}>"
end