rbgraph 0.0.12 → 0.0.13

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 00fbccd2d3d6d3581cc4f83a4e5a2558d75973fd
4
- data.tar.gz: aa59996c09a895c62cc07771f41fb32230225eb1
3
+ metadata.gz: b0c267f9931130e8382595cdab738beee199b049
4
+ data.tar.gz: 841e41cd4ac0a71daa5ed6600776e00504bf4941
5
5
  SHA512:
6
- metadata.gz: 9357c46c09c8a6d354ad2c2f2f09b16f40997da435e1272ce897836ffc449ad91fbd798ed505269782d058befb1ccbf100ea47a25d69cacd3b830ff2b34e257b
7
- data.tar.gz: fe0d188133e96de5f9be8c40ad4cbe53f0eaf3fa4e0e313c3ad10b2eb407eaeffb9df94c62fd41dfc7d71d653d69ab7bae074a31c1629a7bc0a8bc952fb634f3
6
+ metadata.gz: 9eb091cd1521b53c428e324fb29218cc7f5fb99420576e001fb08260566a189c149b3b39200febf030c5c923b68840948c99471ff7578552cbedfb9a0afde329
7
+ data.tar.gz: 7725b8902851b2c13606b8fe3b21398ef277bf32cf03190284e1792d9602e4211d0a5c5aa7075ef4e53dcbcc4d23524b429286e0b0ae1c7155c3181ac1c692e4
data/README.md CHANGED
@@ -63,7 +63,7 @@ graph.add_edge!({id: 1}, {id: 2}, {weight: 3})
63
63
  graph.edges["1==2"].weight => 5
64
64
  ```
65
65
 
66
- Version 0.0.12+
66
+ Version 0.0.13+
67
67
 
68
68
  Support for node merging.
69
69
  ```ruby
data/lib/rbgraph/edge.rb CHANGED
@@ -39,8 +39,9 @@ module Rbgraph
39
39
  end
40
40
 
41
41
  def merge(edge)
42
+ raise "Cannot merge directed and undirected edge!" if directed ^ edge.directed # XOR
42
43
  self.weight += edge.weight unless edge.weight.nil?
43
- attributes.merge!(edge.attributes.reject { |k, v| k == :id })
44
+ attributes.merge!(edge.attributes)
44
45
  self
45
46
  end
46
47
 
@@ -60,6 +61,10 @@ module Rbgraph
60
61
  end
61
62
  end
62
63
 
64
+ def original_attributes
65
+ attributes.merge({directed: directed, weight: weight})
66
+ end
67
+
63
68
  def inspect
64
69
  "<Rbgraph::Edge:##{id} (#{weight}) [#{node1.inspect} #{directed ? "=(#{attributes[:kind]})=>>" : "==(#{attributes[:kind]})=="} #{node2.inspect}] #{attributes.inspect}>"
65
70
  end
data/lib/rbgraph/node.rb CHANGED
@@ -42,9 +42,9 @@ module Rbgraph
42
42
  node.edges.values.each do |edge|
43
43
  other_node = edge.other_node(node)
44
44
  if edge.out_for?(node)
45
- graph.add_edge!(self, other_node, edge.attributes) unless other_node == self
45
+ graph.add_edge!(self, other_node, edge.original_attributes) unless other_node == self
46
46
  elsif edge.in_for?(node)
47
- graph.add_edge!(other_node, self, edge.attributes) unless other_node == self
47
+ graph.add_edge!(other_node, self, edge.original_attributes) unless other_node == self
48
48
  end
49
49
  end
50
50
  graph.remove_node!(node)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbgraph
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - George Lamprianidis