lib/yargi/vertex_set.rb in yargi-0.1.2 vs lib/yargi/vertex_set.rb in yargi-0.2.0

- old
+ new

@@ -1,32 +1,32 @@ module Yargi - + # A set of vertices class VertexSet < ElementSet - + ### Factory section ####################################################### - + # Creates a VertexSet instance using _elements_ varargs. def self.[](*elements) VertexSet.new(elements) end - - + + ### Walking section ####################################################### - + # Returns incoming edges of all vertices of this set def in_edges(filter=nil, &block) r = self.collect {|v| v.in_edges(filter, &block) } EdgeSet.new(r).flatten.uniq end - + # Returns all back-adjacent vertices reachable from this set def in_adjacent(filter=nil, &block) r = self.collect {|v| v.in_adjacent(filter, &block) } VertexSet.new(r).flatten.uniq end - + # Returns all outgoing edges of all vertices of this set def out_edges(filter=nil, &block) r = self.collect {|v| v.out_edges(filter, &block) } EdgeSet.new(r).flatten.uniq end @@ -34,19 +34,19 @@ # Returns all forward-adjacent vertices reachable from this set def out_adjacent(filter=nil, &block) r = self.collect {|v| v.out_adjacent(filter, &block) } VertexSet.new(r).flatten.uniq end - + # Returns all adjacent vertices reachable from this set def adjacent(filter=nil, &block) (in_adjacent(filter, &block)+out_adjacent(filter, &block)).uniq end - - + + ### Protected section ##################################################### protected - + # Extends with VertexSet instead of ElementSet def extend_result(result) VertexSet.new(result) end \ No newline at end of file