rbgraph 0.0.12 → 0.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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