graphgem 0.1.2 → 0.1.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/graph.rb +13 -8
  3. data/lib/node/graph_node.rb +10 -4
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 77d8439a0f689df1237faa891b682d77e47a5424
4
- data.tar.gz: 6a2024130d9f5d19ae664389283957eabc04ea70
3
+ metadata.gz: 8fd4465d677c433676621aeac3779e4944941296
4
+ data.tar.gz: f6d682d0f8ac89c2cd46c65b7e64d4f64638bc35
5
5
  SHA512:
6
- metadata.gz: df2e5fa3017a80b7a3928e9e3e4b463e56b83f595cbd1e711df03c8e0f20465957d9498355860b0e9c8531c98eae25ec74572c4253edb3f98c2817ec8be6b403
7
- data.tar.gz: fbe05350a84d67b59c1f876e5372a593b71018392bef12911030c7df03871857054e740d8f6380bca20bc0b669b828cbdab1a918896f4e298e2183ff7de41b03
6
+ metadata.gz: 88e67ccc794327e76912d4505f37dceb472da8d34a1a8d89fa0994ffe3e1d7ef2e67adb5b3fa9a398057579d94f85ad35c8ce5fa8874226eb8a7c26639beb7de
7
+ data.tar.gz: a4ad6e907ef18b3c0dfc8348b5bb9b21aee61dd17ea351a1c095be206d167ce3197447bab941155a50ff111a272e5dce12f4c50417b7b5b53fa188da14dad819
data/lib/graph.rb CHANGED
@@ -6,11 +6,11 @@ class Graph
6
6
 
7
7
  # creates a blank graph
8
8
  def initialize
9
- @nodes = {}
9
+ @nodes = []
10
10
  end
11
11
 
12
12
  def addNode name, content
13
- @nodes[name] = GraphNode.new(name, content)
13
+ @nodes.push(GraphNode.new(name, content))
14
14
  end
15
15
 
16
16
  # returns true if added
@@ -21,16 +21,21 @@ class Graph
21
21
  end
22
22
 
23
23
  def isNode? name
24
- return @nodes[name] != nil
24
+ @nodes.each do |n|
25
+ return true if n.name == name
26
+ end
27
+ return false
25
28
  end
26
29
 
27
30
  def getNode name
28
- return @nodes[name]
31
+ @nodes.each do |n|
32
+ return n if n.name == name
33
+ end
34
+ return nil
29
35
  end
30
36
 
31
37
  def getConnectionWeight from, to
32
38
  return nil if !isNode?(from) || !isNode?(to)
33
- return nil if !isConnected?(from,to)
34
39
  return getNode(from).getConnection(to).weight
35
40
  end
36
41
 
@@ -60,9 +65,9 @@ class Graph
60
65
 
61
66
  def convertToCSVString
62
67
  result = "From,FromContent,To,ToContent,Weight\n"
63
- @nodes.each do |key, n|
64
- n.connections.each do |key, c|
65
- result += n.name + ',' + n.content + ',' + c.to.name + ',' + c.to.content + ',' + c.weight.to_s + "\n"
68
+ @nodes.each do |n|
69
+ n.connections.each do |c|
70
+ result += n.name + ',' + n.content + ',' + c.to.name + ',' + c.to.content + ',' + c.weight + "\n"
66
71
  end
67
72
  end
68
73
  return result
@@ -9,19 +9,25 @@ class GraphNode
9
9
  def initialize name, content
10
10
  @name = name
11
11
  @content = content
12
- @connections = {}
12
+ @connections = []
13
13
  @marked = false
14
14
  end
15
15
 
16
16
  def addConnection to, weight
17
- @connections[to] = Connection.new(to,weight)
17
+ @connections.push(Connection.new(to, weight))
18
18
  end
19
19
 
20
20
  def getConnection name
21
- return @connections[name]
21
+ @connections.each do |c|
22
+ return c if c.to.name == name
23
+ end
24
+ return nil
22
25
  end
23
26
 
24
27
  def connectedTo? name
25
- return getConnection(name) != nil
28
+ @connections.each do |c|
29
+ return true if c.to.name == name
30
+ end
31
+ return false
26
32
  end
27
33
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: graphgem
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Huelsman