rbgraph 0.0.11 → 0.0.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/rbgraph/graph.rb +9 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 00fbccd2d3d6d3581cc4f83a4e5a2558d75973fd
|
4
|
+
data.tar.gz: aa59996c09a895c62cc07771f41fb32230225eb1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9357c46c09c8a6d354ad2c2f2f09b16f40997da435e1272ce897836ffc449ad91fbd798ed505269782d058befb1ccbf100ea47a25d69cacd3b830ff2b34e257b
|
7
|
+
data.tar.gz: fe0d188133e96de5f9be8c40ad4cbe53f0eaf3fa4e0e313c3ad10b2eb407eaeffb9df94c62fd41dfc7d71d653d69ab7bae074a31c1629a7bc0a8bc952fb634f3
|
data/README.md
CHANGED
data/lib/rbgraph/graph.rb
CHANGED
@@ -59,8 +59,15 @@ module Rbgraph
|
|
59
59
|
def merge_nodes!(node_ids, new_attrs = {})
|
60
60
|
node_ids = node_ids.map { |node_id| nodes[node_id].nil? ? nil : node_id } .compact
|
61
61
|
return nil if node_ids.empty?
|
62
|
-
|
63
|
-
|
62
|
+
new_id = new_attrs[:id]
|
63
|
+
new_node = nil
|
64
|
+
if new_id.nil?
|
65
|
+
if nodes[new_id].nil?
|
66
|
+
new_node = nodes[node_ids.shift]
|
67
|
+
else
|
68
|
+
new_node = nodes[new_id]
|
69
|
+
node_ids.delete(new_id)
|
70
|
+
end
|
64
71
|
new_node.merge(Node.new({id: 0}.merge(new_attrs)))
|
65
72
|
else
|
66
73
|
new_node = add_node!(new_attrs)
|