visual_call_graph 0.3.0 → 0.4.0
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 +4 -4
- data/lib/graph_manager.rb +9 -7
- data/lib/visual_call_graph.rb +11 -1
- metadata +6 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8949b82d9552ff88ea643721acb549bab405a1c5
|
4
|
+
data.tar.gz: caa6787489483ba7b994a7d2a74b458fb4d6df6d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fbdc8b500fa760c5332583d6b37bd478d3ddc71367dc7f54ea6cc49166e37032a156d70ff712e6727b0143c344de54276f326462a251678ca46689b0d8a58f21
|
7
|
+
data.tar.gz: f7e797949eba54aaaa48b723b99d5e45e8a588ed2504740107c164152d3184acae0dc7e5276a7a71b1fb4376985804ad2d0ca8a65397ab1a0ef2a95eb49c83bf
|
data/lib/graph_manager.rb
CHANGED
@@ -13,13 +13,7 @@ class GraphManager
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def add_edges(event)
|
16
|
-
node =
|
17
|
-
if @options[:show_path]
|
18
|
-
"#{event.defined_class}##{event.method_id}\n#{event.path}".freeze
|
19
|
-
else
|
20
|
-
"#{event.defined_class}##{event.method_id}".freeze
|
21
|
-
end
|
22
|
-
|
16
|
+
node = get_node_name(event)
|
23
17
|
edge = [@stack.last, node]
|
24
18
|
|
25
19
|
@stack << node
|
@@ -30,6 +24,14 @@ class GraphManager
|
|
30
24
|
@g.add_edge(*@edges.last)
|
31
25
|
end
|
32
26
|
|
27
|
+
def get_node_name(event)
|
28
|
+
if @options[:show_path]
|
29
|
+
"#{event.defined_class}##{event.method_id}\n#{event.path}".freeze
|
30
|
+
else
|
31
|
+
"#{event.defined_class}##{event.method_id}".freeze
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
33
35
|
def output(*args)
|
34
36
|
@g.output(*args)
|
35
37
|
end
|
data/lib/visual_call_graph.rb
CHANGED
@@ -5,6 +5,11 @@ module VisualCallGraph
|
|
5
5
|
extend self
|
6
6
|
|
7
7
|
def trace(options = {})
|
8
|
+
unless block_given?
|
9
|
+
puts "Block required"
|
10
|
+
return
|
11
|
+
end
|
12
|
+
|
8
13
|
graph = GraphManager.new(options)
|
9
14
|
|
10
15
|
trace =
|
@@ -21,6 +26,11 @@ module VisualCallGraph
|
|
21
26
|
|
22
27
|
graph.output(png: "#{Dir.pwd}/call_graph.png")
|
23
28
|
|
24
|
-
puts "Call graph created with a total of #{
|
29
|
+
puts "Call graph created with a total of #{node_count(graph)}."
|
30
|
+
end
|
31
|
+
|
32
|
+
def node_count(graph)
|
33
|
+
"#{graph.node_count} #{(graph.node_count > 1 ? 'nodes' : 'node')}"
|
25
34
|
end
|
26
35
|
end
|
36
|
+
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: visual_call_graph
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jesus Castello
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-02-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ruby-graphviz
|
@@ -32,14 +32,14 @@ dependencies:
|
|
32
32
|
version: 1.2.0
|
33
33
|
description: Uses the TracePoint class & Graphviz to generate a visual representation
|
34
34
|
of all the methods called by another method.
|
35
|
-
email: jesus@
|
35
|
+
email: jesus@rubyguides.com
|
36
36
|
executables: []
|
37
37
|
extensions: []
|
38
38
|
extra_rdoc_files: []
|
39
39
|
files:
|
40
40
|
- lib/graph_manager.rb
|
41
41
|
- lib/visual_call_graph.rb
|
42
|
-
homepage:
|
42
|
+
homepage: https://www.rubyguides.com
|
43
43
|
licenses:
|
44
44
|
- MIT
|
45
45
|
metadata: {}
|
@@ -59,9 +59,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
59
59
|
version: '0'
|
60
60
|
requirements: []
|
61
61
|
rubyforge_project:
|
62
|
-
rubygems_version: 2.
|
62
|
+
rubygems_version: 2.6.11
|
63
63
|
signing_key:
|
64
64
|
specification_version: 4
|
65
|
-
summary:
|
65
|
+
summary: This gem helps you see all the other methods called by another method.
|
66
66
|
test_files: []
|
67
|
-
has_rdoc:
|