repository-manager 0.2.1 → 0.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,3 @@
1
1
  module RepositoryManager
2
- VERSION = '0.2.1'
2
+ VERSION = '0.2.8'
3
3
  end
@@ -27,4 +27,5 @@ Gem::Specification.new do |s|
27
27
  s.add_runtime_dependency 'ancestry'
28
28
  s.add_runtime_dependency('carrierwave', '>= 0.5.8')
29
29
  s.add_runtime_dependency 'rubyzip', '>= 1.0.0'#, :require => 'zip/zip'
30
+ s.add_runtime_dependency 'paper_trail', '~> 3.0.1'
30
31
  end
data/spec/dummy/Gemfile CHANGED
@@ -9,3 +9,6 @@ gem 'factory_girl'
9
9
  gem "sqlite3", :platform => [:ruby, :mswin, :mingw]
10
10
  gem "jdbc-sqlite3", :platform => :jruby
11
11
 
12
+ group :development, :test do
13
+ gem 'railroady'
14
+ end
@@ -23,13 +23,14 @@ class CreateRepositoryManager < ActiveRecord::Migration
23
23
  create_table :rm_repo_items do |t|
24
24
  t.references :owner, polymorphic: true, index: true
25
25
  t.references :sender, polymorphic: true, index: true
26
- t.string :ancestry
26
+ t.string :ancestry, index: true
27
27
  t.integer :ancestry_depth, :default => 0
28
28
  t.string :name
29
29
  t.float :file_size
30
30
  t.string :content_type
31
31
  t.string :file
32
32
  t.string :type
33
+ t.string :checksum
33
34
  end
34
35
  end
35
36
  end
@@ -0,0 +1,26 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
3
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <!-- Generated by graphviz version 2.26.3 (20100126.1600)
5
+ -->
6
+ <!-- Title: controllers_diagram Pages: 1 -->
7
+ <svg width="446pt" height="175pt"
8
+ viewBox="0.00 0.00 446.00 175.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
9
+ <g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 171)">
10
+ <title>controllers_diagram</title>
11
+ <polygon fill="white" stroke="white" points="-4,5 -4,-171 443,-171 443,5 -4,5"/>
12
+ <!-- _diagram_info -->
13
+ <g id="node1" class="node"><title>_diagram_info</title>
14
+ <text text-anchor="start" x="9" y="-78.3" font-family="Times Roman,serif" font-size="13.00">Controllers diagram</text>
15
+ <text text-anchor="start" x="9" y="-61.3" font-family="Times Roman,serif" font-size="13.00">Date: Jul 01 2014 &#45; 13:21</text>
16
+ <text text-anchor="start" x="9" y="-44.3" font-family="Times Roman,serif" font-size="13.00">Migration version: 20131018214212</text>
17
+ <text text-anchor="start" x="9" y="-27.3" font-family="Times Roman,serif" font-size="13.00">Generated by RailRoady 1.1.1</text>
18
+ <text text-anchor="start" x="9" y="-10.3" font-family="Times Roman,serif" font-size="13.00">http://railroady.prestonlee.com</text>
19
+ </g>
20
+ <!-- ApplicationController -->
21
+ <g id="node2" class="node"><title>ApplicationController</title>
22
+ <ellipse fill="none" stroke="black" cx="323" cy="-147.5" rx="113.844" ry="18.3848"/>
23
+ <text text-anchor="middle" x="323" y="-143.9" font-family="Times Roman,serif" font-size="14.00">ApplicationController</text>
24
+ </g>
25
+ </g>
26
+ </svg>
@@ -0,0 +1,37 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
3
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <!-- Generated by graphviz version 2.26.3 (20100126.1600)
5
+ -->
6
+ <!-- Title: controllers_diagram Pages: 1 -->
7
+ <svg width="392pt" height="247pt"
8
+ viewBox="0.00 0.00 392.00 247.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
9
+ <g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 243)">
10
+ <title>controllers_diagram</title>
11
+ <polygon fill="white" stroke="white" points="-4,5 -4,-243 389,-243 389,5 -4,5"/>
12
+ <!-- _diagram_info -->
13
+ <g id="node1" class="node"><title>_diagram_info</title>
14
+ <text text-anchor="start" x="9" y="-78.3" font-family="Times Roman,serif" font-size="13.00">Controllers diagram</text>
15
+ <text text-anchor="start" x="9" y="-61.3" font-family="Times Roman,serif" font-size="13.00">Date: Jul 01 2014 &#45; 13:21</text>
16
+ <text text-anchor="start" x="9" y="-44.3" font-family="Times Roman,serif" font-size="13.00">Migration version: 20131018214212</text>
17
+ <text text-anchor="start" x="9" y="-27.3" font-family="Times Roman,serif" font-size="13.00">Generated by RailRoady 1.1.1</text>
18
+ <text text-anchor="start" x="9" y="-10.3" font-family="Times Roman,serif" font-size="13.00">http://railroady.prestonlee.com</text>
19
+ </g>
20
+ <!-- ApplicationController -->
21
+ <g id="node2" class="node"><title>ApplicationController</title>
22
+ <polyline fill="none" stroke="black" points="234,-137.5 371,-137.5 "/>
23
+ <path fill="none" stroke="black" d="M371,-137.5C377,-137.5 383,-143.5 383,-149.5"/>
24
+ <polyline fill="none" stroke="black" points="383,-149.5 383,-225.5 "/>
25
+ <path fill="none" stroke="black" d="M383,-225.5C383,-231.5 377,-237.5 371,-237.5"/>
26
+ <polyline fill="none" stroke="black" points="371,-237.5 234,-237.5 "/>
27
+ <path fill="none" stroke="black" d="M234,-237.5C228,-237.5 222,-231.5 222,-225.5"/>
28
+ <polyline fill="none" stroke="black" points="222,-225.5 222,-149.5 "/>
29
+ <path fill="none" stroke="black" d="M222,-149.5C222,-143.5 228,-137.5 234,-137.5"/>
30
+ <text text-anchor="middle" x="302.5" y="-220.9" font-family="Times Roman,serif" font-size="14.00">ApplicationController</text>
31
+ <polyline fill="none" stroke="black" points="222,-211.5 383,-211.5 "/>
32
+ <polyline fill="none" stroke="black" points="222,-187.5 383,-187.5 "/>
33
+ <polyline fill="none" stroke="black" points="222,-163.5 383,-163.5 "/>
34
+ <text text-anchor="start" x="230" y="-146.9" font-family="Times Roman,serif" font-size="14.00">_layout</text>
35
+ </g>
36
+ </g>
37
+ </svg>
@@ -0,0 +1,207 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
3
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <!-- Generated by graphviz version 2.26.3 (20100126.1600)
5
+ -->
6
+ <!-- Title: models_diagram Pages: 1 -->
7
+ <svg width="1467pt" height="530pt"
8
+ viewBox="0.00 0.00 1467.00 530.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
9
+ <g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 526)">
10
+ <title>models_diagram</title>
11
+ <polygon fill="white" stroke="white" points="-4,5 -4,-526 1464,-526 1464,5 -4,5"/>
12
+ <!-- _diagram_info -->
13
+ <g id="node1" class="node"><title>_diagram_info</title>
14
+ <text text-anchor="start" x="687" y="-505.8" font-family="Times Roman,serif" font-size="13.00">Models diagram</text>
15
+ <text text-anchor="start" x="687" y="-488.8" font-family="Times Roman,serif" font-size="13.00">Date: Jul 01 2014 &#45; 13:20</text>
16
+ <text text-anchor="start" x="687" y="-471.8" font-family="Times Roman,serif" font-size="13.00">Migration version: 20131018214212</text>
17
+ <text text-anchor="start" x="687" y="-454.8" font-family="Times Roman,serif" font-size="13.00">Generated by RailRoady 1.1.1</text>
18
+ <text text-anchor="start" x="687" y="-437.8" font-family="Times Roman,serif" font-size="13.00">http://railroady.prestonlee.com</text>
19
+ </g>
20
+ <!-- RepositoryManager::RepoFolder -->
21
+ <g id="node2" class="node"><title>RepositoryManager::RepoFolder</title>
22
+ <ellipse fill="none" stroke="black" cx="487" cy="-111" rx="164.963" ry="18.3848"/>
23
+ <text text-anchor="middle" x="487" y="-107.4" font-family="Times Roman,serif" font-size="14.00">RepositoryManager::RepoFolder</text>
24
+ </g>
25
+ <!-- RepositoryManager::SharingsMember -->
26
+ <g id="node3" class="node"><title>RepositoryManager::SharingsMember</title>
27
+ <ellipse fill="none" stroke="black" cx="1209" cy="-19" rx="193.247" ry="18.3848"/>
28
+ <text text-anchor="middle" x="1209" y="-15.4" font-family="Times Roman,serif" font-size="14.00">RepositoryManager::SharingsMember</text>
29
+ </g>
30
+ <!-- RepositoryManager::RepoItem -->
31
+ <g id="node4" class="node"><title>RepositoryManager::RepoItem</title>
32
+ <ellipse fill="none" stroke="black" cx="374" cy="-203" rx="157.892" ry="18.3848"/>
33
+ <text text-anchor="middle" x="374" y="-199.4" font-family="Times Roman,serif" font-size="14.00">RepositoryManager::RepoItem</text>
34
+ </g>
35
+ <!-- RepositoryManager::RepoItem&#45;&gt;RepositoryManager::RepoFolder -->
36
+ <g id="edge2" class="edge"><title>RepositoryManager::RepoItem&#45;&gt;RepositoryManager::RepoFolder</title>
37
+ <path fill="none" stroke="black" d="M396.596,-184.604C416.304,-168.558 444.747,-145.401 464.444,-129.365"/>
38
+ </g>
39
+ <!-- RepositoryManager::RepoFile -->
40
+ <g id="node5" class="node"><title>RepositoryManager::RepoFile</title>
41
+ <ellipse fill="none" stroke="black" cx="152" cy="-111" rx="152.028" ry="18.3848"/>
42
+ <text text-anchor="middle" x="152" y="-107.4" font-family="Times Roman,serif" font-size="14.00">RepositoryManager::RepoFile</text>
43
+ </g>
44
+ <!-- RepositoryManager::RepoItem&#45;&gt;RepositoryManager::RepoFile -->
45
+ <g id="edge10" class="edge"><title>RepositoryManager::RepoItem&#45;&gt;RepositoryManager::RepoFile</title>
46
+ <path fill="none" stroke="black" d="M330.933,-185.152C291.718,-168.901 234.124,-145.033 194.947,-128.798"/>
47
+ </g>
48
+ <!-- RepositoryManager::Sharing -->
49
+ <g id="node6" class="node"><title>RepositoryManager::Sharing</title>
50
+ <ellipse fill="none" stroke="black" cx="948" cy="-111" rx="149.907" ry="18.3848"/>
51
+ <text text-anchor="middle" x="948" y="-107.4" font-family="Times Roman,serif" font-size="14.00">RepositoryManager::Sharing</text>
52
+ </g>
53
+ <!-- RepositoryManager::RepoItem&#45;&gt;RepositoryManager::Sharing -->
54
+ <g id="edge6" class="edge"><title>RepositoryManager::RepoItem&#45;&gt;RepositoryManager::Sharing</title>
55
+ <path fill="none" stroke="#afdcb7" d="M475.484,-186.734C580.008,-169.981 741.978,-144.021 846.506,-127.267"/>
56
+ <ellipse fill="none" stroke="#afdcb7" cx="471.45" cy="-187.381" rx="4.00001" ry="4.00001"/>
57
+ <polygon fill="#afdcb7" stroke="#afdcb7" points="846.564,-127.258 857.15,-130.119 851.501,-126.467 856.438,-125.675 856.438,-125.675 856.438,-125.675 851.501,-126.467 855.726,-121.232 846.564,-127.258 846.564,-127.258"/>
58
+ <text text-anchor="middle" x="742" y="-153.4" font-family="Times Roman,serif" font-size="14.00">sharings</text>
59
+ </g>
60
+ <!-- RepositoryManager::Sharing&#45;&gt;RepositoryManager::SharingsMember -->
61
+ <g id="edge12" class="edge"><title>RepositoryManager::Sharing&#45;&gt;RepositoryManager::SharingsMember</title>
62
+ <path fill="none" stroke="#fdf732" d="M958.578,-85.263C964.263,-74.5715 972.33,-63.0389 983,-56 997.385,-46.5098 1027.95,-39.2041 1062.07,-33.6916"/>
63
+ <ellipse fill="none" stroke="#fdf732" cx="956.792" cy="-88.8786" rx="4.00002" ry="4.00002"/>
64
+ <polygon fill="#fdf732" stroke="#fdf732" points="1062.39,-33.6425 1072.96,-36.5581 1067.33,-32.8769 1072.27,-32.1112 1072.27,-32.1112 1072.27,-32.1112 1067.33,-32.8769 1071.59,-27.6643 1062.39,-33.6425 1062.39,-33.6425"/>
65
+ <text text-anchor="middle" x="1047.5" y="-61.4" font-family="Times Roman,serif" font-size="14.00">sharings_members</text>
66
+ </g>
67
+ <!-- User -->
68
+ <g id="node7" class="node"><title>User</title>
69
+ <ellipse fill="none" stroke="black" cx="890" cy="-371" rx="33.9411" ry="18.3848"/>
70
+ <text text-anchor="middle" x="890" y="-367.4" font-family="Times Roman,serif" font-size="14.00">User</text>
71
+ </g>
72
+ <!-- User&#45;&gt;RepositoryManager::SharingsMember -->
73
+ <g id="edge20" class="edge"><title>User&#45;&gt;RepositoryManager::SharingsMember</title>
74
+ <path fill="none" stroke="#8ab60b" d="M930.696,-364.357C1016.56,-349.423 1211.55,-310.367 1250,-258 1297.07,-193.895 1252.35,-94.2583 1225.67,-46.4348"/>
75
+ <ellipse fill="none" stroke="#8ab60b" cx="926.678" cy="-365.048" rx="4.00001" ry="4.00001"/>
76
+ <polygon fill="#8ab60b" stroke="#8ab60b" points="1225.58,-46.2669 1224.52,-35.3523 1223.09,-41.9269 1220.61,-37.5869 1220.61,-37.5869 1220.61,-37.5869 1223.09,-41.9269 1216.7,-39.8214 1225.58,-46.2669 1225.58,-46.2669"/>
77
+ <text text-anchor="middle" x="1335.5" y="-199.4" font-family="Times Roman,serif" font-size="14.00">sharings_members</text>
78
+ </g>
79
+ <!-- User&#45;&gt;RepositoryManager::RepoItem -->
80
+ <g id="edge24" class="edge"><title>User&#45;&gt;RepositoryManager::RepoItem</title>
81
+ <path fill="none" stroke="#2002a4" d="M847.644,-370.493C714.981,-368.445 314.216,-358.585 279,-314 254.506,-282.989 295.01,-248.612 330.471,-226.452"/>
82
+ <ellipse fill="none" stroke="#2002a4" cx="851.988" cy="-370.557" rx="4" ry="4"/>
83
+ <polygon fill="#2002a4" stroke="#2002a4" points="330.779,-226.266 341.665,-224.941 335.057,-223.678 339.336,-221.091 339.336,-221.091 339.336,-221.091 335.057,-223.678 337.007,-217.24 330.779,-226.266 330.779,-226.266"/>
84
+ <text text-anchor="middle" x="317" y="-291.4" font-family="Times Roman,serif" font-size="14.00">repo_items</text>
85
+ </g>
86
+ <!-- User&#45;&gt;RepositoryManager::RepoItem -->
87
+ <g id="edge26" class="edge"><title>User&#45;&gt;RepositoryManager::RepoItem</title>
88
+ <path fill="none" stroke="#16dd1f" d="M845.707,-369.32C687.973,-363.123 161.74,-340.524 138,-314 93.3319,-264.094 179.081,-234.801 259.444,-218.962"/>
89
+ <polygon fill="#16dd1f" stroke="#16dd1f" points="845.993,-369.331 855.81,-374.218 850.99,-369.526 855.986,-369.721 855.986,-369.721 855.986,-369.721 850.99,-369.526 856.161,-365.225 845.993,-369.331 845.993,-369.331"/>
90
+ <polygon fill="#16dd1f" stroke="#16dd1f" points="259.892,-218.877 270.558,-221.424 264.804,-217.94 269.715,-217.003 269.715,-217.003 269.715,-217.003 264.804,-217.94 268.872,-212.583 259.892,-218.877 259.892,-218.877"/>
91
+ <text text-anchor="middle" x="203" y="-291.4" font-family="Times Roman,serif" font-size="14.00">shared_repo_items</text>
92
+ </g>
93
+ <!-- User&#45;&gt;RepositoryManager::RepoItem -->
94
+ <g id="edge28" class="edge"><title>User&#45;&gt;RepositoryManager::RepoItem</title>
95
+ <path fill="none" stroke="#bba377" d="M847.554,-370.539C741.485,-368.702 467.868,-359.555 391,-314 377.385,-305.931 352.173,-272.957 347,-258 344.385,-250.439 344.52,-247.606 347,-240 348.093,-236.647 349.618,-233.346 351.391,-230.179"/>
96
+ <ellipse fill="none" stroke="#bba377" cx="851.796" cy="-370.607" rx="4" ry="4"/>
97
+ <polygon fill="#bba377" stroke="#bba377" points="351.462,-230.07 360.676,-224.124 354.18,-225.874 356.899,-221.677 356.899,-221.677 356.899,-221.677 354.18,-225.874 353.122,-219.231 351.462,-230.07 351.462,-230.07"/>
98
+ <text text-anchor="middle" x="447" y="-291.4" font-family="Times Roman,serif" font-size="14.00">root_repo_items</text>
99
+ </g>
100
+ <!-- User&#45;&gt;RepositoryManager::RepoItem -->
101
+ <g id="edge30" class="edge"><title>User&#45;&gt;RepositoryManager::RepoItem</title>
102
+ <path fill="none" stroke="#aa8bd1" d="M849.393,-360.485C764.413,-338.57 570.151,-288.967 503,-276 475.013,-270.596 395.076,-279.18 376,-258 369.681,-250.984 367.943,-241.191 368.19,-231.808"/>
103
+ <polygon fill="#aa8bd1" stroke="#aa8bd1" points="849.516,-360.517 858.074,-367.373 854.357,-361.766 859.198,-363.016 859.198,-363.016 859.198,-363.016 854.357,-361.766 860.323,-358.659 849.516,-360.517 849.516,-360.517"/>
104
+ <polygon fill="#aa8bd1" stroke="#aa8bd1" points="368.218,-231.515 373.653,-221.991 368.696,-226.537 369.174,-221.56 369.174,-221.56 369.174,-221.56 368.696,-226.537 364.694,-221.13 368.218,-231.515 368.218,-231.515"/>
105
+ <text text-anchor="middle" x="749" y="-291.4" font-family="Times Roman,serif" font-size="14.00">root_shared_repo_items</text>
106
+ </g>
107
+ <!-- User&#45;&gt;RepositoryManager::Sharing -->
108
+ <g id="edge22" class="edge"><title>User&#45;&gt;RepositoryManager::Sharing</title>
109
+ <path fill="none" stroke="#0d185e" d="M923.166,-354.886C946.21,-343.61 977.583,-328.102 1005,-314 1052.03,-289.809 1065.67,-286.852 1110,-258 1120.88,-250.919 1122.75,-247.962 1133,-240 1175.55,-206.955 1205.23,-214.342 1229,-166 1232.53,-158.821 1234.27,-154.015 1229,-148 1218.97,-136.564 1153.07,-127.543 1087.61,-121.272"/>
110
+ <ellipse fill="none" stroke="#0d185e" cx="919.282" cy="-356.784" rx="4.00002" ry="4.00002"/>
111
+ <polygon fill="#0d185e" stroke="#0d185e" points="1087.5,-121.262 1077.96,-115.848 1082.52,-120.795 1077.54,-120.328 1077.54,-120.328 1077.54,-120.328 1082.52,-120.795 1077.12,-124.809 1087.5,-121.262 1087.5,-121.262"/>
112
+ <text text-anchor="middle" x="1191.5" y="-245.4" font-family="Times Roman,serif" font-size="14.00">sharings_owners</text>
113
+ </g>
114
+ <!-- User&#45;&gt;RepositoryManager::Sharing -->
115
+ <g id="edge18" class="edge"><title>User&#45;&gt;RepositoryManager::Sharing</title>
116
+ <path fill="none" stroke="#c7e657" d="M921.878,-351.715C959.263,-327.016 1019.27,-280.345 1044,-222 1050.59,-206.451 1051.5,-199.131 1044,-184 1033.51,-162.853 1013.65,-146.174 994.694,-134.13"/>
117
+ <polygon fill="#c7e657" stroke="#c7e657" points="921.751,-351.798 910.91,-353.448 917.552,-354.512 913.353,-357.227 913.353,-357.227 913.353,-357.227 917.552,-354.512 915.796,-361.006 921.751,-351.798 921.751,-351.798"/>
118
+ <polygon fill="#c7e657" stroke="#c7e657" points="994.643,-134.099 988.417,-125.072 990.365,-131.511 986.087,-128.922 986.087,-128.922 986.087,-128.922 990.365,-131.511 983.758,-132.772 994.643,-134.099 994.643,-134.099"/>
119
+ <text text-anchor="middle" x="1064" y="-245.4" font-family="Times Roman,serif" font-size="14.00">sharings</text>
120
+ </g>
121
+ <!-- Group -->
122
+ <g id="node8" class="node"><title>Group</title>
123
+ <ellipse fill="none" stroke="black" cx="890" cy="-295" rx="41.2167" ry="18.3848"/>
124
+ <text text-anchor="middle" x="890" y="-291.4" font-family="Times Roman,serif" font-size="14.00">Group</text>
125
+ </g>
126
+ <!-- User&#45;&gt;Group -->
127
+ <g id="edge16" class="edge"><title>User&#45;&gt;Group</title>
128
+ <path fill="none" stroke="#36611d" d="M890,-341.938C890,-335.986 890,-329.725 890,-323.783"/>
129
+ <polygon fill="#36611d" stroke="#36611d" points="890,-342.213 885.5,-352.213 890,-347.213 890,-352.213 890,-352.213 890,-352.213 890,-347.213 894.5,-352.214 890,-342.213 890,-342.213"/>
130
+ <polygon fill="#36611d" stroke="#36611d" points="890,-323.57 894.5,-313.57 890,-318.57 890,-313.57 890,-313.57 890,-313.57 890,-318.57 885.5,-313.57 890,-323.57 890,-323.57"/>
131
+ </g>
132
+ <!-- Group&#45;&gt;RepositoryManager::SharingsMember -->
133
+ <g id="edge36" class="edge"><title>Group&#45;&gt;RepositoryManager::SharingsMember</title>
134
+ <path fill="none" stroke="#46b0a2" d="M936.786,-287.177C992.558,-277.696 1079.04,-262.437 1085,-258 1103.69,-244.087 1168.5,-106.848 1196.24,-46.8428"/>
135
+ <ellipse fill="none" stroke="#46b0a2" cx="932.738" cy="-287.864" rx="4.00001" ry="4.00001"/>
136
+ <polygon fill="#46b0a2" stroke="#46b0a2" points="1196.32,-46.655 1204.6,-39.4584 1198.42,-42.1145 1200.51,-37.574 1200.51,-37.574 1200.51,-37.574 1198.42,-42.1145 1196.42,-35.6895 1196.32,-46.655 1196.32,-46.655"/>
137
+ <text text-anchor="middle" x="1211.5" y="-153.4" font-family="Times Roman,serif" font-size="14.00">sharings_members</text>
138
+ </g>
139
+ <!-- Group&#45;&gt;RepositoryManager::RepoItem -->
140
+ <g id="edge40" class="edge"><title>Group&#45;&gt;RepositoryManager::RepoItem</title>
141
+ <path fill="none" stroke="#480359" d="M841.289,-290.616C805.323,-285.982 755.897,-276.626 716,-258 704.238,-252.509 705.007,-244.932 693,-240 662.341,-227.406 591.351,-218.53 524.106,-212.634"/>
142
+ <ellipse fill="none" stroke="#480359" cx="845.698" cy="-291.155" rx="4.00001" ry="4.00001"/>
143
+ <polygon fill="#480359" stroke="#480359" points="523.749,-212.603 514.17,-207.266 518.767,-212.176 513.786,-211.749 513.786,-211.749 513.786,-211.749 518.767,-212.176 513.401,-216.233 523.749,-212.603 523.749,-212.603"/>
144
+ <text text-anchor="middle" x="754" y="-245.4" font-family="Times Roman,serif" font-size="14.00">repo_items</text>
145
+ </g>
146
+ <!-- Group&#45;&gt;RepositoryManager::RepoItem -->
147
+ <g id="edge42" class="edge"><title>Group&#45;&gt;RepositoryManager::RepoItem</title>
148
+ <path fill="none" stroke="#320068" d="M851.144,-277.713C839.265,-271.934 826.348,-265.133 815,-258 804.01,-251.092 804.073,-244.768 792,-240 746.64,-222.084 634.393,-212.787 537.629,-207.995"/>
149
+ <polygon fill="#320068" stroke="#320068" points="851.368,-277.82 858.465,-286.18 855.883,-279.968 860.398,-282.117 860.398,-282.117 860.398,-282.117 855.883,-279.968 862.332,-278.053 851.368,-277.82 851.368,-277.82"/>
150
+ <polygon fill="#320068" stroke="#320068" points="537.406,-207.984 527.634,-203.008 532.412,-207.744 527.418,-207.503 527.418,-207.503 527.418,-207.503 532.412,-207.744 527.201,-211.998 537.406,-207.984 537.406,-207.984"/>
151
+ <text text-anchor="middle" x="880" y="-245.4" font-family="Times Roman,serif" font-size="14.00">shared_repo_items</text>
152
+ </g>
153
+ <!-- Group&#45;&gt;RepositoryManager::RepoItem -->
154
+ <g id="edge44" class="edge"><title>Group&#45;&gt;RepositoryManager::RepoItem</title>
155
+ <path fill="none" stroke="#4b29d8" d="M841.942,-289.807C802.501,-285.668 745.179,-279.934 695,-276 661.377,-273.364 418.707,-278.596 392,-258 383.792,-251.67 379.277,-241.51 376.81,-231.635"/>
156
+ <ellipse fill="none" stroke="#4b29d8" cx="846.1" cy="-290.245" rx="4" ry="4"/>
157
+ <polygon fill="#4b29d8" stroke="#4b29d8" points="376.774,-231.445 379.334,-220.782 375.844,-226.532 374.913,-221.62 374.913,-221.62 374.913,-221.62 375.844,-226.532 370.492,-222.457 376.774,-231.445 376.774,-231.445"/>
158
+ <text text-anchor="middle" x="448" y="-245.4" font-family="Times Roman,serif" font-size="14.00">root_repo_items</text>
159
+ </g>
160
+ <!-- Group&#45;&gt;RepositoryManager::RepoItem -->
161
+ <g id="edge46" class="edge"><title>Group&#45;&gt;RepositoryManager::RepoItem</title>
162
+ <path fill="none" stroke="#c68195" d="M839.652,-290.134C739.934,-280.467 526.567,-259.634 523,-258 512.424,-253.157 514.107,-245.758 504,-240 491.41,-232.827 477.329,-226.962 463.21,-222.191"/>
163
+ <polygon fill="#c68195" stroke="#c68195" points="839.844,-290.152 849.363,-295.596 844.821,-290.634 849.797,-291.116 849.797,-291.116 849.797,-291.116 844.821,-290.634 850.231,-286.637 839.844,-290.152 839.844,-290.152"/>
164
+ <polygon fill="#c68195" stroke="#c68195" points="462.97,-222.114 454.822,-214.775 458.209,-220.587 453.448,-219.06 453.448,-219.06 453.448,-219.06 458.209,-220.587 452.073,-223.345 462.97,-222.114 462.97,-222.114"/>
165
+ <text text-anchor="middle" x="606" y="-245.4" font-family="Times Roman,serif" font-size="14.00">root_shared_repo_items</text>
166
+ </g>
167
+ <!-- Group&#45;&gt;RepositoryManager::Sharing -->
168
+ <g id="edge34" class="edge"><title>Group&#45;&gt;RepositoryManager::Sharing</title>
169
+ <path fill="none" stroke="#ea867e" d="M936.868,-283.602C949.806,-278.071 962.373,-269.931 970,-258 993.177,-221.745 976.826,-170.352 962.609,-138.923"/>
170
+ <polygon fill="#ea867e" stroke="#ea867e" points="936.793,-283.63 925.847,-282.979 932.12,-285.408 927.447,-287.185 927.447,-287.185 927.447,-287.185 932.12,-285.408 929.046,-291.391 936.793,-283.63 936.793,-283.63"/>
171
+ <polygon fill="#ea867e" stroke="#ea867e" points="962.591,-138.887 962.378,-127.923 960.451,-134.368 958.311,-129.85 958.311,-129.85 958.311,-129.85 960.451,-134.368 954.244,-131.776 962.591,-138.887 962.591,-138.887"/>
172
+ <text text-anchor="middle" x="1011" y="-199.4" font-family="Times Roman,serif" font-size="14.00">sharings</text>
173
+ </g>
174
+ <!-- Group&#45;&gt;RepositoryManager::Sharing -->
175
+ <g id="edge38" class="edge"><title>Group&#45;&gt;RepositoryManager::Sharing</title>
176
+ <path fill="none" stroke="#6fa81c" d="M925.782,-277.492C942.218,-267.1 955.893,-253.377 945,-240 920.068,-209.381 882.932,-252.619 858,-222 847.336,-208.904 850.735,-199.247 858,-184 867.743,-163.553 886.321,-146.972 904.08,-134.812"/>
177
+ <ellipse fill="none" stroke="#6fa81c" cx="922.073" cy="-279.69" rx="4.00002" ry="4.00002"/>
178
+ <polygon fill="#6fa81c" stroke="#6fa81c" points="904.313,-134.66 915.148,-132.969 908.502,-131.93 912.69,-129.199 912.69,-129.199 912.69,-129.199 908.502,-131.93 910.233,-125.429 904.313,-134.66 904.313,-134.66"/>
179
+ <text text-anchor="middle" x="916.5" y="-199.4" font-family="Times Roman,serif" font-size="14.00">sharings_owners</text>
180
+ </g>
181
+ <!-- ActiveRecord::Base -->
182
+ <g id="node10" class="node"><title>ActiveRecord::Base</title>
183
+ <ellipse fill="none" stroke="black" cx="1051" cy="-475" rx="104.151" ry="18.3848"/>
184
+ <text text-anchor="middle" x="1051" y="-471.4" font-family="Times Roman,serif" font-size="14.00">ActiveRecord::Base</text>
185
+ </g>
186
+ <!-- ActiveRecord::Base&#45;&gt;RepositoryManager::SharingsMember -->
187
+ <g id="edge4" class="edge"><title>ActiveRecord::Base&#45;&gt;RepositoryManager::SharingsMember</title>
188
+ <path fill="none" stroke="black" d="M1150.29,-469.358C1271.06,-459.714 1459,-434.504 1459,-371 1459,-371 1459,-371 1459,-111 1459,-76.1981 1372.6,-50.519 1301.38,-35.2644"/>
189
+ </g>
190
+ <!-- ActiveRecord::Base&#45;&gt;RepositoryManager::RepoItem -->
191
+ <g id="edge8" class="edge"><title>ActiveRecord::Base&#45;&gt;RepositoryManager::RepoItem</title>
192
+ <path fill="none" stroke="black" d="M1015.71,-457.507C993.835,-447.381 964.875,-435.243 938,-428 761.214,-380.353 239.317,-454.571 122,-314 100.094,-287.752 114.799,-259.326 143,-240 160.547,-227.975 202.411,-219.596 245.753,-213.893"/>
193
+ </g>
194
+ <!-- ActiveRecord::Base&#45;&gt;RepositoryManager::Sharing -->
195
+ <g id="edge14" class="edge"><title>ActiveRecord::Base&#45;&gt;RepositoryManager::Sharing</title>
196
+ <path fill="none" stroke="black" d="M1145.32,-467.189C1254.95,-455.447 1421,-428.217 1421,-371 1421,-371 1421,-371 1421,-249 1421,-218.205 1420.05,-204.417 1397,-184 1352.1,-144.239 1202.45,-125.962 1088.13,-117.672"/>
197
+ </g>
198
+ <!-- ActiveRecord::Base&#45;&gt;User -->
199
+ <g id="edge32" class="edge"><title>ActiveRecord::Base&#45;&gt;User</title>
200
+ <path fill="none" stroke="black" d="M1023.32,-457.122C991.856,-436.795 941.108,-404.014 912.145,-385.305"/>
201
+ </g>
202
+ <!-- ActiveRecord::Base&#45;&gt;Group -->
203
+ <g id="edge48" class="edge"><title>ActiveRecord::Base&#45;&gt;Group</title>
204
+ <path fill="none" stroke="black" d="M1034.38,-456.415C1003.04,-421.384 935.675,-346.065 905.348,-312.16"/>
205
+ </g>
206
+ </g>
207
+ </svg>
@@ -0,0 +1,327 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
3
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <!-- Generated by graphviz version 2.26.3 (20100126.1600)
5
+ -->
6
+ <!-- Title: models_diagram Pages: 1 -->
7
+ <svg width="1379pt" height="1258pt"
8
+ viewBox="0.00 0.00 1379.46 1258.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
9
+ <g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 1254)">
10
+ <title>models_diagram</title>
11
+ <polygon fill="white" stroke="white" points="-4,5 -4,-1254 1376.46,-1254 1376.46,5 -4,5"/>
12
+ <!-- _diagram_info -->
13
+ <g id="node1" class="node"><title>_diagram_info</title>
14
+ <text text-anchor="start" x="599.459" y="-1233.8" font-family="Times Roman,serif" font-size="13.00">Models diagram</text>
15
+ <text text-anchor="start" x="599.459" y="-1216.8" font-family="Times Roman,serif" font-size="13.00">Date: Jul 01 2014 &#45; 13:20</text>
16
+ <text text-anchor="start" x="599.459" y="-1199.8" font-family="Times Roman,serif" font-size="13.00">Migration version: 20131018214212</text>
17
+ <text text-anchor="start" x="599.459" y="-1182.8" font-family="Times Roman,serif" font-size="13.00">Generated by RailRoady 1.1.1</text>
18
+ <text text-anchor="start" x="599.459" y="-1165.8" font-family="Times Roman,serif" font-size="13.00">http://railroady.prestonlee.com</text>
19
+ </g>
20
+ <!-- RepositoryManager::RepoFolder -->
21
+ <g id="node2" class="node"><title>RepositoryManager::RepoFolder</title>
22
+ <polyline fill="none" stroke="black" points="302.459,-199 512.459,-199 "/>
23
+ <path fill="none" stroke="black" d="M512.459,-199C518.459,-199 524.459,-205 524.459,-211"/>
24
+ <polyline fill="none" stroke="black" points="524.459,-211 524.459,-437 "/>
25
+ <path fill="none" stroke="black" d="M524.459,-437C524.459,-443 518.459,-449 512.459,-449"/>
26
+ <polyline fill="none" stroke="black" points="512.459,-449 302.459,-449 "/>
27
+ <path fill="none" stroke="black" d="M302.459,-449C296.459,-449 290.459,-443 290.459,-437"/>
28
+ <polyline fill="none" stroke="black" points="290.459,-437 290.459,-211 "/>
29
+ <path fill="none" stroke="black" d="M290.459,-211C290.459,-205 296.459,-199 302.459,-199"/>
30
+ <text text-anchor="middle" x="407.459" y="-432.4" font-family="Times Roman,serif" font-size="14.00">RepositoryManager::RepoFolder</text>
31
+ <polyline fill="none" stroke="black" points="290.459,-423 524.459,-423 "/>
32
+ <text text-anchor="start" x="298.459" y="-406.4" font-family="Times Roman,serif" font-size="14.00">id :integer</text>
33
+ <text text-anchor="start" x="298.459" y="-388.4" font-family="Times Roman,serif" font-size="14.00">owner_id :integer</text>
34
+ <text text-anchor="start" x="298.459" y="-370.4" font-family="Times Roman,serif" font-size="14.00">owner_type :string</text>
35
+ <text text-anchor="start" x="298.459" y="-352.4" font-family="Times Roman,serif" font-size="14.00">sender_id :integer</text>
36
+ <text text-anchor="start" x="298.459" y="-334.4" font-family="Times Roman,serif" font-size="14.00">sender_type :string</text>
37
+ <text text-anchor="start" x="298.459" y="-316.4" font-family="Times Roman,serif" font-size="14.00">ancestry :string</text>
38
+ <text text-anchor="start" x="298.459" y="-298.4" font-family="Times Roman,serif" font-size="14.00">ancestry_depth :integer</text>
39
+ <text text-anchor="start" x="298.459" y="-280.4" font-family="Times Roman,serif" font-size="14.00">name :string</text>
40
+ <text text-anchor="start" x="298.459" y="-262.4" font-family="Times Roman,serif" font-size="14.00">file_size :float</text>
41
+ <text text-anchor="start" x="298.459" y="-244.4" font-family="Times Roman,serif" font-size="14.00">content_type :string</text>
42
+ <text text-anchor="start" x="298.459" y="-226.4" font-family="Times Roman,serif" font-size="14.00">file :string</text>
43
+ <text text-anchor="start" x="298.459" y="-208.4" font-family="Times Roman,serif" font-size="14.00">type :string</text>
44
+ </g>
45
+ <!-- RepositoryManager::SharingsMember -->
46
+ <g id="node3" class="node"><title>RepositoryManager::SharingsMember</title>
47
+ <polyline fill="none" stroke="black" points="985.459,-1 1235.46,-1 "/>
48
+ <path fill="none" stroke="black" d="M1235.46,-1C1241.46,-1 1247.46,-7 1247.46,-13"/>
49
+ <polyline fill="none" stroke="black" points="1247.46,-13 1247.46,-131 "/>
50
+ <path fill="none" stroke="black" d="M1247.46,-131C1247.46,-137 1241.46,-143 1235.46,-143"/>
51
+ <polyline fill="none" stroke="black" points="1235.46,-143 985.459,-143 "/>
52
+ <path fill="none" stroke="black" d="M985.459,-143C979.459,-143 973.459,-137 973.459,-131"/>
53
+ <polyline fill="none" stroke="black" points="973.459,-131 973.459,-13 "/>
54
+ <path fill="none" stroke="black" d="M973.459,-13C973.459,-7 979.459,-1 985.459,-1"/>
55
+ <text text-anchor="middle" x="1110.46" y="-126.4" font-family="Times Roman,serif" font-size="14.00">RepositoryManager::SharingsMember</text>
56
+ <polyline fill="none" stroke="black" points="973.459,-117 1247.46,-117 "/>
57
+ <text text-anchor="start" x="981.459" y="-100.4" font-family="Times Roman,serif" font-size="14.00">id :integer</text>
58
+ <text text-anchor="start" x="981.459" y="-82.4" font-family="Times Roman,serif" font-size="14.00">sharing_id :integer</text>
59
+ <text text-anchor="start" x="981.459" y="-64.4" font-family="Times Roman,serif" font-size="14.00">member_id :integer</text>
60
+ <text text-anchor="start" x="981.459" y="-46.4" font-family="Times Roman,serif" font-size="14.00">member_type :string</text>
61
+ <text text-anchor="start" x="981.459" y="-28.4" font-family="Times Roman,serif" font-size="14.00">can_add :boolean</text>
62
+ <text text-anchor="start" x="981.459" y="-10.4" font-family="Times Roman,serif" font-size="14.00">can_remove :boolean</text>
63
+ </g>
64
+ <!-- RepositoryManager::RepoItem -->
65
+ <g id="node4" class="node"><title>RepositoryManager::RepoItem</title>
66
+ <polyline fill="none" stroke="black" points="186.459,-505 386.459,-505 "/>
67
+ <path fill="none" stroke="black" d="M386.459,-505C392.459,-505 398.459,-511 398.459,-517"/>
68
+ <polyline fill="none" stroke="black" points="398.459,-517 398.459,-743 "/>
69
+ <path fill="none" stroke="black" d="M398.459,-743C398.459,-749 392.459,-755 386.459,-755"/>
70
+ <polyline fill="none" stroke="black" points="386.459,-755 186.459,-755 "/>
71
+ <path fill="none" stroke="black" d="M186.459,-755C180.459,-755 174.459,-749 174.459,-743"/>
72
+ <polyline fill="none" stroke="black" points="174.459,-743 174.459,-517 "/>
73
+ <path fill="none" stroke="black" d="M174.459,-517C174.459,-511 180.459,-505 186.459,-505"/>
74
+ <text text-anchor="middle" x="286.459" y="-738.4" font-family="Times Roman,serif" font-size="14.00">RepositoryManager::RepoItem</text>
75
+ <polyline fill="none" stroke="black" points="174.459,-729 398.459,-729 "/>
76
+ <text text-anchor="start" x="182.459" y="-712.4" font-family="Times Roman,serif" font-size="14.00">id :integer</text>
77
+ <text text-anchor="start" x="182.459" y="-694.4" font-family="Times Roman,serif" font-size="14.00">owner_id :integer</text>
78
+ <text text-anchor="start" x="182.459" y="-676.4" font-family="Times Roman,serif" font-size="14.00">owner_type :string</text>
79
+ <text text-anchor="start" x="182.459" y="-658.4" font-family="Times Roman,serif" font-size="14.00">sender_id :integer</text>
80
+ <text text-anchor="start" x="182.459" y="-640.4" font-family="Times Roman,serif" font-size="14.00">sender_type :string</text>
81
+ <text text-anchor="start" x="182.459" y="-622.4" font-family="Times Roman,serif" font-size="14.00">ancestry :string</text>
82
+ <text text-anchor="start" x="182.459" y="-604.4" font-family="Times Roman,serif" font-size="14.00">ancestry_depth :integer</text>
83
+ <text text-anchor="start" x="182.459" y="-586.4" font-family="Times Roman,serif" font-size="14.00">name :string</text>
84
+ <text text-anchor="start" x="182.459" y="-568.4" font-family="Times Roman,serif" font-size="14.00">file_size :float</text>
85
+ <text text-anchor="start" x="182.459" y="-550.4" font-family="Times Roman,serif" font-size="14.00">content_type :string</text>
86
+ <text text-anchor="start" x="182.459" y="-532.4" font-family="Times Roman,serif" font-size="14.00">file :string</text>
87
+ <text text-anchor="start" x="182.459" y="-514.4" font-family="Times Roman,serif" font-size="14.00">type :string</text>
88
+ </g>
89
+ <!-- RepositoryManager::RepoItem&#45;&gt;RepositoryManager::RepoFolder -->
90
+ <g id="edge2" class="edge"><title>RepositoryManager::RepoItem&#45;&gt;RepositoryManager::RepoFolder</title>
91
+ <path fill="none" stroke="black" d="M336.024,-504.655C343.268,-486.335 350.729,-467.467 357.972,-449.15"/>
92
+ </g>
93
+ <!-- RepositoryManager::RepoFile -->
94
+ <g id="node5" class="node"><title>RepositoryManager::RepoFile</title>
95
+ <polyline fill="none" stroke="black" points="69.9595,-199 260.959,-199 "/>
96
+ <path fill="none" stroke="black" d="M260.959,-199C266.959,-199 272.959,-205 272.959,-211"/>
97
+ <polyline fill="none" stroke="black" points="272.959,-211 272.959,-437 "/>
98
+ <path fill="none" stroke="black" d="M272.959,-437C272.959,-443 266.959,-449 260.959,-449"/>
99
+ <polyline fill="none" stroke="black" points="260.959,-449 69.9595,-449 "/>
100
+ <path fill="none" stroke="black" d="M69.9595,-449C63.9595,-449 57.9595,-443 57.9595,-437"/>
101
+ <polyline fill="none" stroke="black" points="57.9595,-437 57.9595,-211 "/>
102
+ <path fill="none" stroke="black" d="M57.9595,-211C57.9595,-205 63.9595,-199 69.9595,-199"/>
103
+ <text text-anchor="middle" x="165.459" y="-432.4" font-family="Times Roman,serif" font-size="14.00">RepositoryManager::RepoFile</text>
104
+ <polyline fill="none" stroke="black" points="57.9595,-423 272.959,-423 "/>
105
+ <text text-anchor="start" x="65.9595" y="-406.4" font-family="Times Roman,serif" font-size="14.00">id :integer</text>
106
+ <text text-anchor="start" x="65.9595" y="-388.4" font-family="Times Roman,serif" font-size="14.00">owner_id :integer</text>
107
+ <text text-anchor="start" x="65.9595" y="-370.4" font-family="Times Roman,serif" font-size="14.00">owner_type :string</text>
108
+ <text text-anchor="start" x="65.9595" y="-352.4" font-family="Times Roman,serif" font-size="14.00">sender_id :integer</text>
109
+ <text text-anchor="start" x="65.9595" y="-334.4" font-family="Times Roman,serif" font-size="14.00">sender_type :string</text>
110
+ <text text-anchor="start" x="65.9595" y="-316.4" font-family="Times Roman,serif" font-size="14.00">ancestry :string</text>
111
+ <text text-anchor="start" x="65.9595" y="-298.4" font-family="Times Roman,serif" font-size="14.00">ancestry_depth :integer</text>
112
+ <text text-anchor="start" x="65.9595" y="-280.4" font-family="Times Roman,serif" font-size="14.00">name :string</text>
113
+ <text text-anchor="start" x="65.9595" y="-262.4" font-family="Times Roman,serif" font-size="14.00">file_size :float</text>
114
+ <text text-anchor="start" x="65.9595" y="-244.4" font-family="Times Roman,serif" font-size="14.00">content_type :string</text>
115
+ <text text-anchor="start" x="65.9595" y="-226.4" font-family="Times Roman,serif" font-size="14.00">file :string</text>
116
+ <text text-anchor="start" x="65.9595" y="-208.4" font-family="Times Roman,serif" font-size="14.00">type :string</text>
117
+ </g>
118
+ <!-- RepositoryManager::RepoItem&#45;&gt;RepositoryManager::RepoFile -->
119
+ <g id="edge10" class="edge"><title>RepositoryManager::RepoItem&#45;&gt;RepositoryManager::RepoFile</title>
120
+ <path fill="none" stroke="black" d="M236.895,-504.655C229.651,-486.335 222.19,-467.467 214.947,-449.15"/>
121
+ </g>
122
+ <!-- RepositoryManager::Sharing -->
123
+ <g id="node6" class="node"><title>RepositoryManager::Sharing</title>
124
+ <polyline fill="none" stroke="black" points="788.459,-208 976.459,-208 "/>
125
+ <path fill="none" stroke="black" d="M976.459,-208C982.459,-208 988.459,-214 988.459,-220"/>
126
+ <polyline fill="none" stroke="black" points="988.459,-220 988.459,-428 "/>
127
+ <path fill="none" stroke="black" d="M988.459,-428C988.459,-434 982.459,-440 976.459,-440"/>
128
+ <polyline fill="none" stroke="black" points="976.459,-440 788.459,-440 "/>
129
+ <path fill="none" stroke="black" d="M788.459,-440C782.459,-440 776.459,-434 776.459,-428"/>
130
+ <polyline fill="none" stroke="black" points="776.459,-428 776.459,-220 "/>
131
+ <path fill="none" stroke="black" d="M776.459,-220C776.459,-214 782.459,-208 788.459,-208"/>
132
+ <text text-anchor="middle" x="882.459" y="-423.4" font-family="Times Roman,serif" font-size="14.00">RepositoryManager::Sharing</text>
133
+ <polyline fill="none" stroke="black" points="776.459,-414 988.459,-414 "/>
134
+ <text text-anchor="start" x="784.459" y="-397.4" font-family="Times Roman,serif" font-size="14.00">id :integer</text>
135
+ <text text-anchor="start" x="784.459" y="-379.4" font-family="Times Roman,serif" font-size="14.00">owner_id :integer</text>
136
+ <text text-anchor="start" x="784.459" y="-361.4" font-family="Times Roman,serif" font-size="14.00">owner_type :string</text>
137
+ <text text-anchor="start" x="784.459" y="-343.4" font-family="Times Roman,serif" font-size="14.00">creator_id :integer</text>
138
+ <text text-anchor="start" x="784.459" y="-325.4" font-family="Times Roman,serif" font-size="14.00">creator_type :string</text>
139
+ <text text-anchor="start" x="784.459" y="-307.4" font-family="Times Roman,serif" font-size="14.00">repo_item_id :integer</text>
140
+ <text text-anchor="start" x="784.459" y="-289.4" font-family="Times Roman,serif" font-size="14.00">can_create :boolean</text>
141
+ <text text-anchor="start" x="784.459" y="-271.4" font-family="Times Roman,serif" font-size="14.00">can_read :boolean</text>
142
+ <text text-anchor="start" x="784.459" y="-253.4" font-family="Times Roman,serif" font-size="14.00">can_update :boolean</text>
143
+ <text text-anchor="start" x="784.459" y="-235.4" font-family="Times Roman,serif" font-size="14.00">can_delete :boolean</text>
144
+ <text text-anchor="start" x="784.459" y="-217.4" font-family="Times Roman,serif" font-size="14.00">can_share :boolean</text>
145
+ </g>
146
+ <!-- RepositoryManager::RepoItem&#45;&gt;RepositoryManager::Sharing -->
147
+ <g id="edge6" class="edge"><title>RepositoryManager::RepoItem&#45;&gt;RepositoryManager::Sharing</title>
148
+ <path fill="none" stroke="#cbb150" d="M405.949,-568.651C511.201,-514.612 663.504,-436.417 767.406,-383.071"/>
149
+ <ellipse fill="none" stroke="#cbb150" cx="402.121" cy="-570.617" rx="4.00002" ry="4.00002"/>
150
+ <polygon fill="#cbb150" stroke="#cbb150" points="767.47,-383.039 778.421,-382.474 771.918,-380.755 776.366,-378.471 776.366,-378.471 776.366,-378.471 771.918,-380.755 774.31,-374.468 767.47,-383.039 767.47,-383.039"/>
151
+ <text text-anchor="middle" x="613.459" y="-473.4" font-family="Times Roman,serif" font-size="14.00">sharings</text>
152
+ </g>
153
+ <!-- RepositoryManager::Sharing&#45;&gt;RepositoryManager::SharingsMember -->
154
+ <g id="edge12" class="edge"><title>RepositoryManager::Sharing&#45;&gt;RepositoryManager::SharingsMember</title>
155
+ <path fill="none" stroke="#336d95" d="M858.961,-199.737C861.131,-186.256 865.637,-173.338 873.459,-162 885.575,-144.439 922.504,-127.272 963.715,-112.718"/>
156
+ <ellipse fill="none" stroke="#336d95" cx="858.45" cy="-203.763" rx="4.00001" ry="4.00001"/>
157
+ <polygon fill="#336d95" stroke="#336d95" points="963.962,-112.632 974.884,-113.619 968.688,-110.999 973.414,-109.366 973.414,-109.366 973.414,-109.366 968.688,-110.999 971.943,-105.112 963.962,-112.632 963.962,-112.632"/>
158
+ <text text-anchor="middle" x="937.959" y="-167.4" font-family="Times Roman,serif" font-size="14.00">sharings_members</text>
159
+ </g>
160
+ <!-- User -->
161
+ <g id="node7" class="node"><title>User</title>
162
+ <polyline fill="none" stroke="black" points="683.959,-975 824.959,-975 "/>
163
+ <path fill="none" stroke="black" d="M824.959,-975C830.959,-975 836.959,-981 836.959,-987"/>
164
+ <polyline fill="none" stroke="black" points="836.959,-987 836.959,-1105 "/>
165
+ <path fill="none" stroke="black" d="M836.959,-1105C836.959,-1111 830.959,-1117 824.959,-1117"/>
166
+ <polyline fill="none" stroke="black" points="824.959,-1117 683.959,-1117 "/>
167
+ <path fill="none" stroke="black" d="M683.959,-1117C677.959,-1117 671.959,-1111 671.959,-1105"/>
168
+ <polyline fill="none" stroke="black" points="671.959,-1105 671.959,-987 "/>
169
+ <path fill="none" stroke="black" d="M671.959,-987C671.959,-981 677.959,-975 683.959,-975"/>
170
+ <text text-anchor="middle" x="754.459" y="-1100.4" font-family="Times Roman,serif" font-size="14.00">User</text>
171
+ <polyline fill="none" stroke="black" points="671.959,-1091 836.959,-1091 "/>
172
+ <text text-anchor="start" x="679.959" y="-1074.4" font-family="Times Roman,serif" font-size="14.00">id :integer</text>
173
+ <text text-anchor="start" x="679.959" y="-1056.4" font-family="Times Roman,serif" font-size="14.00">nickname :string</text>
174
+ <text text-anchor="start" x="679.959" y="-1038.4" font-family="Times Roman,serif" font-size="14.00">password :string</text>
175
+ <text text-anchor="start" x="679.959" y="-1020.4" font-family="Times Roman,serif" font-size="14.00">email :string</text>
176
+ <text text-anchor="start" x="679.959" y="-1002.4" font-family="Times Roman,serif" font-size="14.00">created_at :datetime</text>
177
+ <text text-anchor="start" x="679.959" y="-984.4" font-family="Times Roman,serif" font-size="14.00">updated_at :datetime</text>
178
+ </g>
179
+ <!-- User&#45;&gt;RepositoryManager::SharingsMember -->
180
+ <g id="edge20" class="edge"><title>User&#45;&gt;RepositoryManager::SharingsMember</title>
181
+ <path fill="none" stroke="#88bf98" d="M844.632,-1019.84C942.911,-985.709 1094.08,-915.299 1153.46,-792 1255.54,-580.048 1184.64,-291.431 1139.67,-152.815"/>
182
+ <ellipse fill="none" stroke="#88bf98" cx="840.845" cy="-1021.13" rx="4.00001" ry="4.00001"/>
183
+ <polygon fill="#88bf98" stroke="#88bf98" points="1139.6,-152.598 1140.75,-141.693 1138.04,-147.847 1136.48,-143.097 1136.48,-143.097 1136.48,-143.097 1138.04,-147.847 1132.2,-144.5 1139.6,-152.598 1139.6,-152.598"/>
184
+ <text text-anchor="middle" x="1269.96" y="-626.4" font-family="Times Roman,serif" font-size="14.00">sharings_members</text>
185
+ </g>
186
+ <!-- User&#45;&gt;RepositoryManager::RepoItem -->
187
+ <g id="edge24" class="edge"><title>User&#45;&gt;RepositoryManager::RepoItem</title>
188
+ <path fill="none" stroke="#d92053" d="M663.528,-1041.52C522.644,-1032.43 262.003,-1006.32 206.459,-936 168.014,-887.327 179.071,-822.031 203.431,-764.258"/>
189
+ <ellipse fill="none" stroke="#d92053" cx="667.81" cy="-1041.79" rx="4" ry="4"/>
190
+ <polygon fill="#d92053" stroke="#d92053" points="203.448,-764.218 211.574,-756.854 205.449,-759.636 207.449,-755.054 207.449,-755.054 207.449,-755.054 205.449,-759.636 203.325,-753.253 203.448,-764.218 203.448,-764.218"/>
191
+ <text text-anchor="middle" x="244.459" y="-869.4" font-family="Times Roman,serif" font-size="14.00">repo_items</text>
192
+ </g>
193
+ <!-- User&#45;&gt;RepositoryManager::RepoItem -->
194
+ <g id="edge26" class="edge"><title>User&#45;&gt;RepositoryManager::RepoItem</title>
195
+ <path fill="none" stroke="#57288e" d="M661.773,-1038.24C479.148,-1022.02 86.9875,-982.154 47.4595,-936 11.0323,-893.467 22.4658,-860.113 47.4595,-810 72.7768,-759.238 119.985,-719.03 165.8,-689.608"/>
196
+ <polygon fill="#57288e" stroke="#57288e" points="661.941,-1038.26 671.506,-1043.62 666.921,-1038.7 671.902,-1039.14 671.902,-1039.14 671.902,-1039.14 666.921,-1038.7 672.298,-1034.66 661.941,-1038.26 661.941,-1038.26"/>
197
+ <polygon fill="#57288e" stroke="#57288e" points="165.869,-689.565 176.729,-688.049 170.101,-686.903 174.333,-684.24 174.333,-684.24 174.333,-684.24 170.101,-686.903 171.937,-680.431 165.869,-689.565 165.869,-689.565"/>
198
+ <text text-anchor="middle" x="112.459" y="-869.4" font-family="Times Roman,serif" font-size="14.00">shared_repo_items</text>
199
+ </g>
200
+ <!-- User&#45;&gt;RepositoryManager::RepoItem -->
201
+ <g id="edge28" class="edge"><title>User&#45;&gt;RepositoryManager::RepoItem</title>
202
+ <path fill="none" stroke="#d62275" d="M663.592,-1033.87C550.759,-1017.03 367.179,-983.224 318.459,-936 276.64,-895.464 314.985,-858.313 282.459,-810 275.21,-799.232 265.145,-803.669 259.459,-792 255.955,-784.808 258.719,-781.966 259.459,-774 259.73,-771.091 260.03,-768.154 260.357,-765.196"/>
203
+ <ellipse fill="none" stroke="#d62275" cx="667.634" cy="-1034.47" rx="4.00001" ry="4.00001"/>
204
+ <polygon fill="#d62275" stroke="#d62275" points="260.381,-765.002 266.037,-755.608 260.975,-760.038 261.569,-755.073 261.569,-755.073 261.569,-755.073 260.975,-760.038 257.101,-754.539 260.381,-765.002 260.381,-765.002"/>
205
+ <text text-anchor="middle" x="374.459" y="-869.4" font-family="Times Roman,serif" font-size="14.00">root_repo_items</text>
206
+ </g>
207
+ <!-- User&#45;&gt;RepositoryManager::RepoItem -->
208
+ <g id="edge30" class="edge"><title>User&#45;&gt;RepositoryManager::RepoItem</title>
209
+ <path fill="none" stroke="#71d8f5" d="M662.046,-1023.1C608.9,-1006.16 543.714,-978.511 497.459,-936 450.761,-893.081 482.675,-846.003 430.459,-810 404.091,-791.819 308.72,-815.955 287.459,-792 280.315,-783.95 275.284,-774.686 271.894,-764.752"/>
210
+ <polygon fill="#71d8f5" stroke="#71d8f5" points="662.273,-1023.17 670.486,-1030.44 667.048,-1024.65 671.822,-1026.14 671.822,-1026.14 671.822,-1026.14 667.048,-1024.65 673.159,-1021.84 662.273,-1023.17 662.273,-1023.17"/>
211
+ <polygon fill="#71d8f5" stroke="#71d8f5" points="271.868,-764.658 273.461,-753.808 270.5,-759.849 269.132,-755.039 269.132,-755.039 269.132,-755.039 270.5,-759.849 264.804,-756.27 271.868,-764.658 271.868,-764.658"/>
212
+ <text text-anchor="middle" x="580.459" y="-869.4" font-family="Times Roman,serif" font-size="14.00">root_shared_repo_items</text>
213
+ </g>
214
+ <!-- User&#45;&gt;RepositoryManager::Sharing -->
215
+ <g id="edge22" class="edge"><title>User&#45;&gt;RepositoryManager::Sharing</title>
216
+ <path fill="none" stroke="#5eece5" d="M843.941,-990.283C867.028,-974.078 891.091,-955.461 911.459,-936 969.885,-880.177 982.744,-862.374 1022.46,-792 1094.18,-664.919 1114.55,-629.42 1141.46,-486 1155.39,-411.766 1073.67,-369.991 998.41,-347.534"/>
217
+ <ellipse fill="none" stroke="#5eece5" cx="840.422" cy="-992.727" rx="4.00002" ry="4.00002"/>
218
+ <polygon fill="#5eece5" stroke="#5eece5" points="998.405,-347.533 990.046,-340.434 993.601,-346.145 988.797,-344.758 988.797,-344.758 988.797,-344.758 993.601,-346.145 987.549,-349.081 998.405,-347.533 998.405,-347.533"/>
219
+ <text text-anchor="middle" x="1090.96" y="-779.4" font-family="Times Roman,serif" font-size="14.00">sharings_owners</text>
220
+ </g>
221
+ <!-- User&#45;&gt;RepositoryManager::Sharing -->
222
+ <g id="edge18" class="edge"><title>User&#45;&gt;RepositoryManager::Sharing</title>
223
+ <path fill="none" stroke="#fd99c4" d="M831.433,-966.994C878.451,-912.637 933.766,-836.034 956.459,-756 987.012,-648.248 978.164,-613.877 956.459,-504 952.924,-486.1 947.587,-467.743 941.366,-449.918"/>
224
+ <polygon fill="#fd99c4" stroke="#fd99c4" points="831.145,-967.323 821.174,-971.887 827.853,-971.086 824.561,-974.85 824.561,-974.85 824.561,-974.85 827.853,-971.086 827.948,-977.813 831.145,-967.323 831.145,-967.323"/>
225
+ <polygon fill="#fd99c4" stroke="#fd99c4" points="941.211,-449.485 942.06,-438.553 939.518,-444.781 937.825,-440.076 937.825,-440.076 937.825,-440.076 939.518,-444.781 933.591,-441.599 941.211,-449.485 941.211,-449.485"/>
226
+ <text text-anchor="middle" x="979.459" y="-779.4" font-family="Times Roman,serif" font-size="14.00">sharings</text>
227
+ </g>
228
+ <!-- Group -->
229
+ <g id="node8" class="node"><title>Group</title>
230
+ <polyline fill="none" stroke="black" points="683.959,-811 824.959,-811 "/>
231
+ <path fill="none" stroke="black" d="M824.959,-811C830.959,-811 836.959,-817 836.959,-823"/>
232
+ <polyline fill="none" stroke="black" points="836.959,-823 836.959,-923 "/>
233
+ <path fill="none" stroke="black" d="M836.959,-923C836.959,-929 830.959,-935 824.959,-935"/>
234
+ <polyline fill="none" stroke="black" points="824.959,-935 683.959,-935 "/>
235
+ <path fill="none" stroke="black" d="M683.959,-935C677.959,-935 671.959,-929 671.959,-923"/>
236
+ <polyline fill="none" stroke="black" points="671.959,-923 671.959,-823 "/>
237
+ <path fill="none" stroke="black" d="M671.959,-823C671.959,-817 677.959,-811 683.959,-811"/>
238
+ <text text-anchor="middle" x="754.459" y="-918.4" font-family="Times Roman,serif" font-size="14.00">Group</text>
239
+ <polyline fill="none" stroke="black" points="671.959,-909 836.959,-909 "/>
240
+ <text text-anchor="start" x="679.959" y="-892.4" font-family="Times Roman,serif" font-size="14.00">id :integer</text>
241
+ <text text-anchor="start" x="679.959" y="-874.4" font-family="Times Roman,serif" font-size="14.00">name :string</text>
242
+ <text text-anchor="start" x="679.959" y="-856.4" font-family="Times Roman,serif" font-size="14.00">description :text</text>
243
+ <text text-anchor="start" x="679.959" y="-838.4" font-family="Times Roman,serif" font-size="14.00">created_at :datetime</text>
244
+ <text text-anchor="start" x="679.959" y="-820.4" font-family="Times Roman,serif" font-size="14.00">updated_at :datetime</text>
245
+ </g>
246
+ <!-- User&#45;&gt;Group -->
247
+ <g id="edge16" class="edge"><title>User&#45;&gt;Group</title>
248
+ <path fill="none" stroke="#7679c0" d="M754.459,-964.411C754.459,-958.093 754.459,-951.741 754.459,-945.488"/>
249
+ <polygon fill="#7679c0" stroke="#7679c0" points="754.46,-964.635 749.959,-974.635 754.46,-969.635 754.459,-974.635 754.459,-974.635 754.459,-974.635 754.46,-969.635 758.959,-974.636 754.46,-964.635 754.46,-964.635"/>
250
+ <polygon fill="#7679c0" stroke="#7679c0" points="754.46,-945.085 758.959,-935.085 754.46,-940.085 754.459,-935.085 754.459,-935.085 754.459,-935.085 754.46,-940.085 749.959,-935.085 754.46,-945.085 754.46,-945.085"/>
251
+ </g>
252
+ <!-- Group&#45;&gt;RepositoryManager::SharingsMember -->
253
+ <g id="edge36" class="edge"><title>Group&#45;&gt;RepositoryManager::SharingsMember</title>
254
+ <path fill="none" stroke="#016f1e" d="M844.624,-832.501C865.02,-824.291 886.768,-816.265 907.459,-810 946.501,-798.179 969.223,-821.44 997.459,-792 1019.5,-769.02 1076.76,-336.915 1100.21,-153.369"/>
255
+ <ellipse fill="none" stroke="#016f1e" cx="840.881" cy="-834.024" rx="4.00002" ry="4.00002"/>
256
+ <polygon fill="#016f1e" stroke="#016f1e" points="1100.24,-153.15 1105.97,-143.8 1100.87,-148.19 1101.51,-143.23 1101.51,-143.23 1101.51,-143.23 1100.87,-148.19 1097.04,-142.661 1100.24,-153.15 1100.24,-153.15"/>
257
+ <text text-anchor="middle" x="1122.96" y="-473.4" font-family="Times Roman,serif" font-size="14.00">sharings_members</text>
258
+ </g>
259
+ <!-- Group&#45;&gt;RepositoryManager::RepoItem -->
260
+ <g id="edge40" class="edge"><title>Group&#45;&gt;RepositoryManager::RepoItem</title>
261
+ <path fill="none" stroke="#71cc16" d="M664.867,-816.86C652.514,-808.698 640.086,-800.26 628.459,-792 617.878,-784.482 616.566,-780.719 605.459,-774 543.026,-736.232 468.973,-702.211 407.94,-676.732"/>
262
+ <ellipse fill="none" stroke="#71cc16" cx="668.373" cy="-819.165" rx="4.00002" ry="4.00002"/>
263
+ <polygon fill="#71cc16" stroke="#71cc16" points="407.883,-676.709 400.371,-668.72 403.265,-674.793 398.646,-672.877 398.646,-672.877 398.646,-672.877 403.265,-674.793 396.922,-677.033 407.883,-676.709 407.883,-676.709"/>
264
+ <text text-anchor="middle" x="666.459" y="-779.4" font-family="Times Roman,serif" font-size="14.00">repo_items</text>
265
+ </g>
266
+ <!-- Group&#45;&gt;RepositoryManager::RepoItem -->
267
+ <g id="edge42" class="edge"><title>Group&#45;&gt;RepositoryManager::RepoItem</title>
268
+ <path fill="none" stroke="#266586" d="M727.249,-801.988C720.957,-791.613 713.414,-781.813 704.459,-774 621.261,-701.405 499.572,-664.926 408.924,-646.897"/>
269
+ <polygon fill="#266586" stroke="#266586" points="727.315,-802.106 728.327,-813.025 729.779,-806.457 732.243,-810.807 732.243,-810.807 732.243,-810.807 729.779,-806.457 736.159,-808.59 727.315,-802.106 727.315,-802.106"/>
270
+ <polygon fill="#266586" stroke="#266586" points="408.682,-646.85 399.721,-640.529 403.773,-645.898 398.864,-644.946 398.864,-644.946 398.864,-644.946 403.773,-645.898 398.008,-649.364 408.682,-646.85 408.682,-646.85"/>
271
+ <text text-anchor="middle" x="786.459" y="-779.4" font-family="Times Roman,serif" font-size="14.00">shared_repo_items</text>
272
+ </g>
273
+ <!-- Group&#45;&gt;RepositoryManager::RepoItem -->
274
+ <g id="edge44" class="edge"><title>Group&#45;&gt;RepositoryManager::RepoItem</title>
275
+ <path fill="none" stroke="#d1eedf" d="M664.254,-824.351C650.566,-818.627 636.365,-813.564 622.459,-810 588.178,-801.213 330.152,-816.338 304.459,-792 296.281,-784.252 290.21,-774.996 285.79,-764.888"/>
276
+ <ellipse fill="none" stroke="#d1eedf" cx="668.125" cy="-826.015" rx="4.00002" ry="4.00002"/>
277
+ <polygon fill="#d1eedf" stroke="#d1eedf" points="285.732,-764.734 286.389,-753.787 283.957,-760.059 282.182,-755.385 282.182,-755.385 282.182,-755.385 283.957,-760.059 277.975,-756.982 285.732,-764.734 285.732,-764.734"/>
278
+ <text text-anchor="middle" x="360.459" y="-779.4" font-family="Times Roman,serif" font-size="14.00">root_repo_items</text>
279
+ </g>
280
+ <!-- Group&#45;&gt;RepositoryManager::RepoItem -->
281
+ <g id="edge46" class="edge"><title>Group&#45;&gt;RepositoryManager::RepoItem</title>
282
+ <path fill="none" stroke="#17f71a" d="M662.219,-824.048C649.142,-818.573 635.652,-813.66 622.459,-810 542.003,-787.678 510.217,-829.185 435.459,-792 432.597,-790.576 421.044,-778.821 405.542,-762.235"/>
283
+ <polygon fill="#17f71a" stroke="#17f71a" points="662.478,-824.16 669.875,-832.256 667.068,-826.142 671.659,-828.124 671.659,-828.124 671.659,-828.124 667.068,-826.142 673.443,-823.993 662.478,-824.16 662.478,-824.16"/>
284
+ <polygon fill="#17f71a" stroke="#17f71a" points="405.48,-762.169 401.965,-751.782 402.075,-758.508 398.67,-754.847 398.67,-754.847 398.67,-754.847 402.075,-758.508 395.375,-757.912 405.48,-762.169 405.48,-762.169"/>
285
+ <text text-anchor="middle" x="518.459" y="-779.4" font-family="Times Roman,serif" font-size="14.00">root_shared_repo_items</text>
286
+ </g>
287
+ <!-- Group&#45;&gt;RepositoryManager::Sharing -->
288
+ <g id="edge34" class="edge"><title>Group&#45;&gt;RepositoryManager::Sharing</title>
289
+ <path fill="none" stroke="#eaeaf5" d="M845.445,-832.014C860.302,-821.178 873.684,-807.939 882.459,-792 898.532,-762.808 894.005,-578.83 888.679,-450.444"/>
290
+ <polygon fill="#eaeaf5" stroke="#eaeaf5" points="845.296,-832.117 834.507,-834.082 841.178,-834.953 837.059,-837.788 837.059,-837.788 837.059,-837.788 841.178,-834.953 839.612,-841.495 845.296,-832.117 845.296,-832.117"/>
291
+ <polygon fill="#eaeaf5" stroke="#eaeaf5" points="888.666,-450.131 892.741,-439.95 888.456,-445.135 888.245,-440.139 888.245,-440.139 888.245,-440.139 888.456,-445.135 883.749,-440.329 888.666,-450.131 888.666,-450.131"/>
292
+ <text text-anchor="middle" x="923.459" y="-626.4" font-family="Times Roman,serif" font-size="14.00">sharings</text>
293
+ </g>
294
+ <!-- Group&#45;&gt;RepositoryManager::Sharing -->
295
+ <g id="edge38" class="edge"><title>Group&#45;&gt;RepositoryManager::Sharing</title>
296
+ <path fill="none" stroke="#13f7e8" d="M843.188,-824.8C860.647,-809.285 869.717,-791.55 855.459,-774 830.837,-743.69 794.082,-786.31 769.459,-756 698.84,-669.07 738.476,-611.629 769.459,-504 774.805,-485.43 782.693,-466.926 791.859,-449.236"/>
297
+ <ellipse fill="none" stroke="#13f7e8" cx="840.042" cy="-827.415" rx="4.00002" ry="4.00002"/>
298
+ <polygon fill="#13f7e8" stroke="#13f7e8" points="792.047,-448.883 800.73,-442.185 794.405,-444.473 796.762,-440.064 796.762,-440.064 796.762,-440.064 794.405,-444.473 792.793,-437.942 792.047,-448.883 792.047,-448.883"/>
299
+ <text text-anchor="middle" x="827.959" y="-626.4" font-family="Times Roman,serif" font-size="14.00">sharings_owners</text>
300
+ </g>
301
+ <!-- ActiveRecord::Base -->
302
+ <g id="node10" class="node"><title>ActiveRecord::Base</title>
303
+ <ellipse fill="none" stroke="black" cx="963.459" cy="-1203" rx="104.151" ry="18.3848"/>
304
+ <text text-anchor="middle" x="963.459" y="-1199.4" font-family="Times Roman,serif" font-size="14.00">ActiveRecord::Base</text>
305
+ </g>
306
+ <!-- ActiveRecord::Base&#45;&gt;RepositoryManager::SharingsMember -->
307
+ <g id="edge4" class="edge"><title>ActiveRecord::Base&#45;&gt;RepositoryManager::SharingsMember</title>
308
+ <path fill="none" stroke="black" d="M1058.7,-1195.42C1131.82,-1186.02 1232.88,-1164.99 1309.46,-1118 1345.45,-1095.91 1371.46,-1088.23 1371.46,-1046 1371.46,-1046 1371.46,-1046 1371.46,-324 1371.46,-246.212 1310.72,-184.829 1247.84,-142.126"/>
309
+ </g>
310
+ <!-- ActiveRecord::Base&#45;&gt;RepositoryManager::RepoItem -->
311
+ <g id="edge8" class="edge"><title>ActiveRecord::Base&#45;&gt;RepositoryManager::RepoItem</title>
312
+ <path fill="none" stroke="black" d="M926.717,-1185.59C904.934,-1175.81 876.564,-1164 850.459,-1156 769.371,-1131.15 745.919,-1137.83 663.459,-1118 374.686,-1048.56 194.714,-1176.51 20.4595,-936 -12.3961,-890.651 -0.229718,-862.038 20.4595,-810 46.9828,-743.288 114.109,-698.15 174.288,-669.76"/>
313
+ </g>
314
+ <!-- ActiveRecord::Base&#45;&gt;RepositoryManager::Sharing -->
315
+ <g id="edge14" class="edge"><title>ActiveRecord::Base&#45;&gt;RepositoryManager::Sharing</title>
316
+ <path fill="none" stroke="black" d="M1030.89,-1188.86C1137.61,-1164.51 1333.46,-1110.98 1333.46,-1046 1333.46,-1046 1333.46,-1046 1333.46,-783 1333.46,-658.542 1382.67,-604.651 1309.46,-504 1234.57,-401.042 1089.1,-356.591 988.93,-337.656"/>
317
+ </g>
318
+ <!-- ActiveRecord::Base&#45;&gt;User -->
319
+ <g id="edge32" class="edge"><title>ActiveRecord::Base&#45;&gt;User</title>
320
+ <path fill="none" stroke="black" d="M939.485,-1184.99C914.502,-1166.22 873.939,-1135.75 837.151,-1108.12"/>
321
+ </g>
322
+ <!-- ActiveRecord::Base&#45;&gt;Group -->
323
+ <g id="edge48" class="edge"><title>ActiveRecord::Base&#45;&gt;Group</title>
324
+ <path fill="none" stroke="black" d="M955.784,-1184.28C938.856,-1144 895.796,-1046.86 845.459,-974 836.337,-960.795 825.64,-947.48 814.849,-935.043"/>
325
+ </g>
326
+ </g>
327
+ </svg>