X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=lib%2Fgraph%2Fvertex.rb~;fp=lib%2Fgraph%2Fvertex.rb~;h=0000000000000000000000000000000000000000;hb=d70d060196f0a62cbd3f5906e93cc1b2b31bc319;hp=0bccb57296cde47787b5b6b77f54a34a87f0393b;hpb=0b3df692a2a00199692d72ede064821bc9bf5935;p=graph.njae.git diff --git a/lib/graph/vertex.rb~ b/lib/graph/vertex.rb~ deleted file mode 100644 index 0bccb57..0000000 --- a/lib/graph/vertex.rb~ +++ /dev/null @@ -1,32 +0,0 @@ -require 'ostruct' - -module Graph - class Vertex < OpenStruct - def initialize - super - self.edges = [] - self - end - - def connect(other) - e = Edge.new - e << self << other - self.edges << e - other.edges << e unless self === other - e - end - - def <<(other) - connect(other) - self - end - - def neighbours - vertices = self.edges.map {|e| e.vertices}.flatten - vertices_to_me = vertices.select {|v| v == self} - other_vertices = vertices.select {|v| v != self} - (vertices_to_me[1..-1] || []) + other_vertices - end - - end -end