trace_tree 0.2.11 → 0.2.12

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
- SHA1:
3
- metadata.gz: b718ef2ac65f359114fe71dfb0fc137ae6aefb11
4
- data.tar.gz: d2c1e1142e2f877ac500915a92400f968a3b7eda
2
+ SHA256:
3
+ metadata.gz: a4888f227248272b967eb8e49c8571f03fc7a308b4d1d3e77db133538258ed40
4
+ data.tar.gz: da4ee9a28804d9036a1e554155683581b739da004ca6a9aa646415633d70abb9
5
5
  SHA512:
6
- metadata.gz: 0efbac5f49d16b1cff0b07818f81aee2c401c0997ad0939e3bca281d7fff3bffa3109a332bf114773a8e0bd7d8eed18c48a3b8425f7921613f645f9c234b73be
7
- data.tar.gz: d5748c338201b73c875d901904e1bca2ee6c41ef4859bad477bac85c841242078b0069607ff4e353f6f07c3a0856490af7b3b7da3ba057688bc51099799c8356
6
+ metadata.gz: 94a1676563c16dfaa2734bc0ef83becbc5a9788f8ae02ba74da18c86d00e7f7b294ee431a70f6dbe46f540f494989ad10957fb5fa6348e7f87c32f68e7aabf51
7
+ data.tar.gz: 6460f66de423f728b36c88887722cdbba5fc68ba57400611112030cb63ad779c333e5a81c7733c5ccb2c21ecbb99795b5845744cb14ff5f3ee3fc0eaa60c19af
data/README.md CHANGED
@@ -48,7 +48,7 @@ end
48
48
 
49
49
  * `file == STDOUT` by default. You can give it a File object or anything responds to `puts`.
50
50
  * `:color => true` by default. It makes method names have different color than source_location in output. When you print the output to file, you may want to set it false to discard those color ANSI escape sequences.
51
- * `:gem => true` by default. Replace the gem paths in source_location with $GemPathN, can make the lines shorter. To see what are replaced, inspect `TraceTree::GemPaths`.
51
+ * `:gem => true` by default. Replace the gem paths in source_location with $GemPathN, which shorten lines. To see what are replaced, inspect `TraceTree::GemPaths`.
52
52
  * `:html => nil` by default. Set it true to generate a html in which a tree constructed with `<ul>`, `<li>`. (No need to set `color`).
53
53
  * `:tmp => nil` by default. Set it true or a string or an array of string to specify a tmp file under the default tmp dir of your system. (No need to provide `file` argument. It makes parent directories as needed)
54
54
  * `:htmp => nil` by default. It is combination of `:html` and `:tmp`.
@@ -70,6 +70,8 @@ ArgumentError: Index name 'index_cars_on_online_at' on table 'cars' does not exi
70
70
 
71
71
  Then find the result HTML in tmp dir. Move your mouse on any method name, and press `f`/`u` to fold/unfold it's callee, press `p`/`n` to jump to it's previous/next sibling call, press `r` to print return value in console.
72
72
 
73
+ You may type `group_by_file()` in console, to group callees defined in same file, under additional `li` tag. Type `group_by_file()` once again to switch back.
74
+
73
75
  ![image](https://user-images.githubusercontent.com/6105214/35904349-bf264ae4-0c1d-11e8-8ab4-0c256e4b014a.png)
74
76
 
75
77
  ### Example 2: Output to STDOUT
@@ -0,0 +1,22 @@
1
+ var group_by_file = (function(){
2
+ var grouped_by_file = false
3
+
4
+ return function(){
5
+ var sw = TreeHtmlGroup({
6
+ name: 'by_file',
7
+ key: function get_path(li) {
8
+ var p = li.querySelector('a').innerText.replace(/.*\s(.*):\d+/, '$1')
9
+ if (p === '') {
10
+ var callees = li.querySelector('ul')
11
+ if (callees !== null) {
12
+ return get_path(callees.children[0])
13
+ }
14
+ }
15
+ return '<b>' + p + '</b>'
16
+ }
17
+ })
18
+
19
+ sw(grouped_by_file ? '' : 'by_file')
20
+ grouped_by_file = !grouped_by_file
21
+ }
22
+ })()
@@ -139,19 +139,13 @@ EOM
139
139
  end
140
140
 
141
141
  def terminate? point
142
- same_method?(point) and ending?(point)
143
- end
144
-
145
- def same_method? point
146
- point.defined_class == defined_class and point.method_id == method_id
147
- end
148
-
149
- def ending? point
150
- (event == :b_return and point.event == :b_call) or
151
- (event == :c_return and point.event == :c_call) or
152
- (event == :return and point.event == :call) or
153
- (event == :end and point.event == :class) or
154
- (event == :thread_end and point.event == :thread_begin)
142
+ (point.defined_class == defined_class && point.method_id == method_id) && (
143
+ (event == :return && point.event == :call) ||
144
+ (event == :b_return && point.event == :b_call) ||
145
+ (event == :c_return && point.event == :c_call) ||
146
+ (event == :end && point.event == :class) ||
147
+ (event == :thread_end && point.event == :thread_begin)
148
+ )
155
149
  end
156
150
 
157
151
  def << node
@@ -58,7 +58,7 @@ class TraceTree
58
58
  JS = File.read File.expand_path('../native_console.js', __FILE__)
59
59
 
60
60
  def body_js_for_tree_html
61
- super.push({text: JS})
61
+ super + [{text: JS}]
62
62
  end
63
63
  end
64
64
 
@@ -73,7 +73,7 @@ class TraceTree
73
73
  end
74
74
 
75
75
  def body_js_for_tree_html
76
- super.push({text: JS})
76
+ super + [{text: JS}]
77
77
  end
78
78
  end
79
79
  end
@@ -7,6 +7,11 @@ class TraceTree
7
7
 
8
8
  include TreeHtml
9
9
 
10
+ DEFAULT_JS = ['group_by_file'].map do |f|
11
+ text = File.read File.expand_path("../#{f}.js", __FILE__)
12
+ {text: text}
13
+ end
14
+
10
15
  def label_for_tree_html
11
16
  "<span class='highlight'>#{CGI::escapeHTML class_and_method}</span> "\
12
17
  "#{CGI::escapeHTML source_location}"
@@ -17,7 +22,7 @@ class TraceTree
17
22
  end
18
23
 
19
24
  def body_js_for_tree_html
20
- []
25
+ DEFAULT_JS
21
26
  end
22
27
 
23
28
  def children_for_tree_html
@@ -1,3 +1,3 @@
1
1
  class TraceTree
2
- VERSION = "0.2.11"
2
+ VERSION = "0.2.12"
3
3
  end
data/trace_tree.gemspec CHANGED
@@ -27,7 +27,7 @@ Gem::Specification.new do |spec|
27
27
 
28
28
  spec.add_dependency "binding_of_callers", "~> 0.1.5"
29
29
  spec.add_dependency "tree_graph", "~> 0.2.0"
30
- spec.add_dependency "tree_html", "~> 0.1.6"
30
+ spec.add_dependency "tree_html", "~> 0.1.7"
31
31
  spec.add_dependency "terminal-tableofhashes", "~> 0.1.0"
32
32
 
33
33
  spec.extensions << "ext/mkrf_conf.rb"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trace_tree
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.11
4
+ version: 0.2.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - ken
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-11-15 00:00:00.000000000 Z
11
+ date: 2019-05-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 0.1.6
103
+ version: 0.1.7
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 0.1.6
110
+ version: 0.1.7
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: terminal-tableofhashes
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -147,6 +147,7 @@ files:
147
147
  - lib/trace_tree/console.css
148
148
  - lib/trace_tree/console.js
149
149
  - lib/trace_tree/gem_paths.rb
150
+ - lib/trace_tree/group_by_file.js
150
151
  - lib/trace_tree/native_console.js
151
152
  - lib/trace_tree/point.rb
152
153
  - lib/trace_tree/point/call_activesupportconcern_appendfeatures.rb
@@ -196,7 +197,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
196
197
  version: '0'
197
198
  requirements: []
198
199
  rubyforge_project:
199
- rubygems_version: 2.6.8
200
+ rubygems_version: 2.7.6
200
201
  signing_key:
201
202
  specification_version: 4
202
203
  summary: Print TracePoint(:b_call, :b_return, :c_call, :c_return, :call, :return,