lib/rgraph/link.rb in rgraph-0.0.9 vs lib/rgraph/link.rb in rgraph-0.0.10
- old
+ new
@@ -1,21 +1,22 @@
class Link
- attr_accessor :source, :target
+ attr_accessor :source, :target, :type
def initialize(arg)
@args = arg
@source = @args.delete(:source)
@target = @args.delete(:target)
+ @type = @args.delete(:type) || 'undirected'
raise Exception.new("source cant be nil") unless @source
raise Exception.new("target cant be nil") unless @target
raise Exception.new("source must be of type Node") unless @source.is_a? Node
raise Exception.new("target must be of type Node") unless @target.is_a? Node
@args[:weight] ||= 1
@source.neighbours << @target
- @target.neighbours << @source
+ @target.neighbours << @source unless @type == 'directed'
end
def method_missing(name, *args)
super unless args.empty?
@args[name]