X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=lib%2Ferd_handler%2Ferd.rb;fp=lib%2Ferd_handler%2Ferd.rb;h=2c10364ef90983bbb74009d2d12d46eccea3e142;hb=fdc3bc03b2d7759927ae34d5382d2168be6a2bae;hp=bf740072d432b883cf7e58d891d56c4431418051;hpb=7007758ddfedba0e7db623c2e6e2aba7bb420e73;p=erd-marker.git diff --git a/lib/erd_handler/erd.rb b/lib/erd_handler/erd.rb index bf74007..2c10364 100644 --- a/lib/erd_handler/erd.rb +++ b/lib/erd_handler/erd.rb @@ -22,5 +22,27 @@ module ErdHandler end self end + + # The minimal meaningful units of an ERD are: + # Each box in isolation + # Each link, with the associated boxes at its ends + def mmus + mmus = [] + self.vertices.each do |b| + mmu = Erd.new + mmu << b + mmus << mmu + end + self.edges.each do |l| + mmu = Erd.new + l.vertices.each do |b| + mmu << b + end + mmu << l + mmus << mmu + end + mmus + end + end end